Хотите скачать изображения для пользователя из firebase и загрузить в UIcollectionview - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь загрузить изображения для конкретного пользователя из firebase и загрузить их в мой UIcollectionview. Используя BSImagePicker, я могу выбрать несколько изображений и загрузить их в Firebase. Вот моя структура базы данных URL изображений:

imageUrl firebase database tree

Я хочу загрузить все изображения в узле '.... 7RP2' и загрузить ихв UIcollectionview. Вот код, который я пытался использовать:

var imageUrlArray: [String] = []

 func getImage() {

    if let id = shoutoutSelected?.soid() {
        let ref = Database.database().reference().child("Shoutout Pic").child(id)
        ref.observeSingleEvent(of: .value, with: { (snapshot) in
            print(snapshot)

            if snapshot.exists() {
                let imageInfo = snapshot.value as! [String : String]

                for (imageName, imageURL) in imageInfo {
                    self.imageUrlArray.append(imageURL)
                }
                self.pictureCollectionView.reloadData()
            } else {
             print("no Images")
            }

        }, withCancel: nil)
    }
}



func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return imageUrlArray.count
   }



func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: picCell, for: indexPath) as! detailShoutoutViewCollectionViewCell
        cell.picture.loadImageUsingCacheWithUrlString(urlString: imageUrlArray[indexPath.item])
       return cell
    }

Все, что я могу достичь, это загрузить только одно из 5 изображений под этим узлом, и это изображение реплицируется во все ячейки Uicollectionview. Пожалуйста, помогите!

...