我有一个 CollectionView,我正在使用 Firebase Storage 中的图像来填充。我将图像存储在“userId”节点下。我想检查节点下可用的批量文件是否存在,因此我可以将它们存储在一个数组中。
我试图分别检索每个网址,但是,我认为这是一种非常错误的方法。但是,我无法弄清楚如何以最有效的方式进行操作以及将collectionView.reload()
. 这就是我所做的:
let storage = FIRStorage.storage()
let firstImageRef = storage.referenceForURL("gs:storageUrl").child(uid).child("profile.jpg")
firstImageRef.downloadURLWithCompletion { (URL, error) -> Void in
if (error != nil) {
print(error)
} else {
if let url = URL {
self.databaseImagesOrder.append(url)
}
}
}
let secondImageRef = storage.referenceForURL("gs:storageUrl").child(uid).child("second_pic.jpg")
secondImageRef.downloadURLWithCompletion { (URL, error) -> Void in
if (error != nil) {
print(error)
} else {
if let url = URL {
self.databaseImagesOrder.append(url)
}
}
}
// etc..
collectionView.reloadData()
另外,将图像作为 NSData 获取比先获取 url 然后获取图像更好吗?如果是这样,我如何从 Firebase 存储中批量检索图像?