Firebase хранения изображений в произвольном порядке в представлении коллекции - PullRequest
2 голосов
/ 06 января 2020

В моей базе данных Firebase у меня есть несколько предметов, которые имеют имя и изображение каждый. В моем приложении я хотел бы отобразить указанные параметры в виде коллекции с изображением и меткой в ​​каждой ячейке. Я могу отображать каждое название элемента в метке, и я также могу отображать изображение элементов в окне просмотра изображений, однако изображения, загруженные из firebase, продолжают появляться в случайном порядке каждый раз. Ярлыки показывают названия предметов в правильном фиксированном порядке каждый раз. У каждого элемента есть дочерний элемент с именем «image», а дочерний элемент с именем «storage», в котором хранится URL-адрес изображения из хранилища Firebase. Код для загрузки изображений:

func downloadImg() {
    let ref = Database.database().reference().child(itemNumber1)
    ref.observeSingleEvent(of: .value) { (snapshot) in
        for item in snapshot.children {
            let snap = item as! DataSnapshot
            let imageSnap = snap.childSnapshot(forPath: "image/storage")
            if let url = imageSnap.value as? String {
            let someRef = self.storageRef.reference(forURL: url)
                someRef.getData(maxSize: 10 * 10024 * 10024) { data, error in
                    if let error = error {
                        print(error)
                    } else {
                        let image = UIImage(data: data!)
                        self.imageArray.append(image!)
                        self.collectionView?.reloadData()
                    }
                }
            }
        }
    }
}

Как я уже сказал, код работает нормально, но я бы хотел, чтобы изображения отображались в том же порядке каждый раз и в том же порядке, в котором они хранятся в хранения / базы данных. Я попытался добавить константу url в пустой массив и распечатать его, и этот массив печатает URL-адреса хранилища в нужном мне порядке. Однако, похоже, что-то происходит, когда сами изображения добавляются в массив изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...