我正试图了解Firebase存储 . 我在网上看过并试过两种获取图像的方法 . 这两者有什么区别? (都是工作) .
从我的Firebase数据库获取photoUrl之后:
1 .
if let data = NSData(contentsOfURL: NSURL(string:photoUrl)!)
{
let myImage = UIImage(data: data)!
MyImageCache.sharedCache.setObject(myImage, forKey: self.key)
//etc
}
2 .
self.storage.referenceForURL(photoUrl).dataWithMaxSize(1 * 1024 * 1024) { (data, error) -> Void in
if (error != nil)
{
print(error)
}
else
{
let myImage = UIImage(data: data!)
MyImageCache.sharedCache.setObject(myImage!, forKey: self.key)
//etc
}
}
1 回答
关于第一种方法,您不应该将其用于网络呼叫 . 来自文档:
第二种方法融入了firebase框架,为您提供了下载图像的便捷方法,即它为您提供了指定图像大小的选项 . 这可能是为获取图像而优化的,并且在大多数情况下是首选方法 .