Исходные карты одинаковы при использовании 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) является действительным. Кажется, вы использовали один индекс для всех изображений.