Исходные карты одинаковы при использовании UICollectionView Yalantis/Koloda

Я использую эту библиотеку и могу отображать свои данные из Firebase на карточках. Однако начальные карты (по умолчанию 3) одинаковы. Затем, как только я их проведу, я вижу следующие результаты. Похоже, что это только тот случай, когда я отображаю CollectionView на карте, а не просто UIView.

Вот как я получаю данные:

var person: Person!

func fetchUser() {

    let databaseRef = Database.database().reference(withPath: "users")
    databaseRef.observeSingleEvent(of: DataEventType.value, with: { (snapshot) in
        for child in snapshot.children {
            guard let snapshot = child as? DataSnapshot else { continue }

            let person = Person(from: snapshot)
            self.person = person
            PersonManager.shared.addPerson(person)
        }
        self.kolodaView.reloadData()

    })
}

Вот как я назначаю данные ячейке:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CustomCell
    let person = PersonManager.shared.persons[indexPath.row]
    cell.nameLabel.text = person.firstName
    return cell
}

PersonManager это синглтон, который обрабатывает Person объект и имеет append() а также removeAll() функция.

И вот мой результат:

введите описание изображения здесь

Кто-нибудь получил его для правильной работы с tableView или collectionView?

1 ответ

Убедитесь, что индекс в колода (_ колода: KolodaView, viewForCardAt index: Int) является действительным. Кажется, вы использовали один индекс для всех изображений.

Другие вопросы по тегам