У меня есть коллекция событий в Firestore. Я извлекаю элементы, которые храню в массиве, один раз в таблице я просматриваю его, чтобы получить UID, который позволяет мне получить соответствующее изображение в firebase-Storage. У меня есть папка (Event_test / "UID")
I можно получить обе вещи одновременно, только я не вижу, как отобразить все это в табличном представлении. ярлык для названия мероприятия Изображение
спасибо, если вы можете мне помочь.
Я объявляю мои две объектные картины
private var events: [Cevent] = []
private var list_images: [UIImage] = []
Мои две функции для извлечения из базы данных
func recupEvent() {
Constants.Firebase.db.collection(Constants.collection.Cevent).order(by: Constants.Cevent.start)
.addSnapshotListener { querySnapshot, error in
guard let snapshot = querySnapshot else {
print("Error fetching snapshots: \(error!)")
return
}
snapshot.documentChanges.forEach { diff in
if (diff.type == .added) {
// print("New Event: \(diff.document.data())")
let event = Cevent(dictionary: diff.document.data())
let img = Constants.Firebase.storage.reference().child("event_test/" + ((event?.uid)!) + ".jpg")
// Download in memory with a maximum allowed size of 1MB (1 * 1024 * 1024 bytes)
img.getData(maxSize: 1 * 1024 * 1024) { data, error in
if error != nil {
// Uh-oh, an error occurred!
print(error)
} else {
// Data for "images/island.jpg" is returned
let image = UIImage(data: data!)
// mise de l'image dans le tableau des images
self.list_images.append(image!)
// appel de la fonction qui mets en places les cellules
self.update()
}
}
self.events.append(event!)
print("event " + String(self.events.count))
// print(self.list_images.count)
}
if (diff.type == .modified) {
print("Modified Event: \(diff.document.data())")
}
if (diff.type == .removed) {
print("Removed Event: \(diff.document.data())")
}
}
}
}
func update() {
for event in events {
for image in list_images {
imageCell.image = image
dateCell.text = event.name
}
}
}