निम्नलिखित कोड फायरबेस से छवियों को प्राप्त करता है, लेकिन गलत तरीके से दो छवियों की नकल करता है। मुझे लगता है कि ऐसा self.tableView.reloadData()
के प्लेसमेंट के कारण हुआ है, मेरे द्वारा आजमाए गए किसी भी प्लेसमेंट ने काम नहीं किया। क्या कोई मुझे सुझाव दे सकता है?
func fetchAllUsersImages() {
print("inside func")
self.ref.child("Posts").child(self.userID).child(self.postNum).observe(.childAdded, with: { snapshot in
if let snapShotValue = snapshot.value as? [String: String] {
for (_, value) in snapShotValue {
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)
} catch {
print("imageURL was not able to be converted into data")
}
}
}
}
})
}
2
user10497264
1 नवम्बर 2018, 04:07
1 उत्तर
सबसे बढ़िया उत्तर
सुनिश्चित करें कि आपने फ़ंक्शन को कॉल करना प्रारंभ करते समय सरणी साफ़ कर दी है क्योंकि आप सरणी में डेटा जोड़ रहे हैं। दूसरे, लूप के लिए समाप्त होने के बाद तालिका को पुनः लोड करें।
func fetchAllUsersImages() {
self.arrayOfImgObj.removeAll() // clean the array
self.ref.child("Posts").child(self.userID).child(self.postNum).observe(.childAdded, with: { snapshot in
if let snapShotValue = snapshot.value as? [String: String] {
for (_, value) in snapShotValue {
}
tableView.reloadData() // reload view
}
})
}
1
xmhafiz
1 नवम्बर 2018, 02:32
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
ios
iOS, Apple iPhone, iPod टच और iPad पर चलने वाला मोबाइल ऑपरेटिंग सिस्टम है। IOS प्लेटफॉर्म पर प्रोग्रामिंग से संबंधित प्रश्नों के लिए इस टैग [ios] का उपयोग करें। उन प्रोग्रामिंग भाषाओं के लिए विशिष्ट मुद्दों के लिए संबंधित टैग [उद्देश्य-सी] और [स्विफ्ट] का उपयोग करें।