下面是我的代码,它从Parse服务器类中检索图像并将其加载到tableview中。 当我按下GetAlbum UI按钮显示数据时,我必须按两次才能成功地在tableview中显示数据,我不知道是什么原因。请帮忙(PS:我是swift的新手)
function myFunc() {
//damn code
}
export default myFunc
答案 0 :(得分:1)
您对self.tableView.reloadData()
的呼叫位于错误的位置,并且正在从错误的队列中调用它。您需要在主队列上调用它,并且在更新数据模型后需要在查询完成处理程序中调用它。
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!)
}
})
}
}
DispatchQueue.main.async {
self.tableview.reloadData()
}
}
})