Unten ist mein Code, der Bilder von Parse Server-Klasse abruft und laden Sie es in einer Tabellenansicht. Wenn ich GetAlbum UIbutton drücken, um die Daten anzuzeigen, muss ich es zweimal drücken, um erfolgreich Daten in der Tabellenansicht anzuzeigen, und ich kann nicht wissen, aus welchem Grund. bitte helfen (PS: Ich bin zu schnellen)Swift, warum beim Abrufen von Daten aus Parse ich Taste zweimal drücken muss, um Daten in der Tabellenansicht zu laden
var Saveddata: [UIImage] = []
@IBAction func getAlbum(_ sender: AnyObject) {
if (self.textEntercode.text == "")
{
let alert = UIAlertController(title: "No Entered value", message: "Please enter value", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.cancel, handler: nil));
//event handler with closure
present(alert, animated: true, completion: nil);
}
else {
//-------------Get Data from Parse Server-------------------
var photo = textEntercode.text
let query = PFQuery(className: "Photostable10")
query.whereKey("photo", equalTo: photo)
//query.whereKey("Score", greaterThan: 1000)
query.findObjectsInBackground(block: { (objects : [PFObject]?, error: Error?) -> Void in
if error == nil {
for object in objects! {
if let userPicture = object.value(forKey: "photo") {
let userPicture = object.value(forKey: "photo")! as! PFFile
userPicture.getDataInBackground({ (imageData: Data?, error: Error?) -> Void in
let image = UIImage(data: imageData!)
if image != nil {
self.Saveddata.append(image!)
}
})
}
}
}
})
self.tableview.reloadData()
} //else close
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "PostCell")!
cell.textLabel!.text = "Post"
cell.imageView?.image = Saveddata[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.Saveddata.count
}
Perfect - vielen Dank für Ihre Hilfe @rmaddy – rania
Es tut mir leid es für eine Zeit gearbeitet, und ich habe dann wieder UIButton drücken zweimal Ich weiß nicht, warum - oder kann ich klickte zweimal ohne es zu merken – rania
Verwenden Debugger und Schritt durch den Code. Bestätigen Sie, dass kein Fehler vorliegt, und bestätigen Sie, dass Sie die erwarteten Daten erhalten. – rmaddy