Когда вы запускаете приложение, вы должны получить строку из документов Firestore и записать в массив,
(Массив)
var items = [String]()
override func viewDidLoad() {
let db = Firestore.firestore()
db.collection("cities").getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
print("\(document.documentID) => \(document.data())")
self.items.append(document.data()["title"] as! String)
}
}
}
}
затем в функции создания ячейки текст должен быть заменен на строку из массива.
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath as IndexPath) as! colCell
print(self.items)
cell.myLabel.text = self.items[indexPath.item]
return cell
}
Но массив со строками из хранилища не обновляется в функции создания ячейки. Почему?
(Я распечатал массив в viewDidLoad и в ячейке, он обновлен в viewDidLoad и не обновлен в ячейке)