Получить несколько фотографий под узлом из Firebase Storage
У меня есть CollectionView, который я использую изображения из Firebase Storage для заполнения. Я храню изображения под узлом 'userId'. Я хочу проверить наличие файлов оптом, которые доступны в узле, чтобы я мог хранить их в массиве.
Я пытался получить URL-адреса отдельно для каждого, однако я считаю, что это очень неправильный подход. Но я не мог понять, как сделать это наиболее эффективным способом и куда поставить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 Storage?