В моем коде есть следующая функция, которая выбирает изображения из firebase, все делает правильно, но дублирует 2 изображения (в данном случае) при получении.
Редактировать : (Это ниже, вероятно, не тот случай, я полагаю, что это нечто другое, просто основанное на том факте, что попытка нескольких, казалось бы, корректных исправлений не решила проблему).
Кажется, это происходит из-за размещения self.tableView.reloadData()
Однако я экспериментировал со многими местами размещения, но все они терпят неудачу.
func fetchAllUsersImages() {
print("inside func")
self.ref.child("Posts").child(self.userID).child(self.postNum).observe(.childAdded, with: { snapshot in
print(snapshot.value)
if let snapShotValue = snapshot.value as? [String: String] {
for (_, value) in snapShotValue {
print(value)
if let imageURL = URL(string: value) {
print(imageURL, "image url here")
do {
let imageAsData = try Data(contentsOf: imageURL)
let image = UIImage(data: imageAsData)
let ImageObject = Image()
ImageObject.image = image
self.arrayOfImgObj.append(ImageObject)
self.tableView.reloadData()
} catch {
print("imageURL was not able to be converted into data")
}
}
}
}
print("hfjdsaklhjfksahalh")
})
print(arrayOfImgObj.count)
}
Вот вывод из консоли:
Description: post1
Description: oosJPm4MEnWWis5p7p1unCbZxQH3
inside func 0 Optional({
image1 = "https://URLIsHere";
image2 = "https://URLIsHere";
})
https://URLIsHere
https://URLIsHere image url here
https://URLIsHere
https://URLIsHere image url here
hfjdsaklhjfksahalh