我正在使用Parse为我用Swift编写的应用程序。这是一个高尔夫应用程序,允许用户拥有个人资料。用户可以在编辑配置文件视图控制器上编辑配置文件,保存它,然后将它们带回主配置文件视图控制器。我遇到的问题是,如果用户更改其个人资料图像并保存它,图像不会在主配置文件视图控制器上更新,但新的配置文件信息的其余部分是。我的信念是Parse查询的时机已关闭,图像没有及时返回。这是我对主要个人资料页面的查询。我尝试使用“dispatch_async”方法,但这似乎不起作用。提前谢谢。
func getProfileFromBackground() {
profileData.removeAll()
if let userQuery = PFUser.query() {
userQuery.whereKey("username", equalTo: (PFUser.currentUser()?.username)!)
userQuery.findObjectsInBackgroundWithBlock({ (currentUserProfile:[PFObject]?, error: NSError?) -> Void in
if error == nil {
for object:PFObject in currentUserProfile! {
self.profileData.append(object)
for data in self.profileData {
dispatch_async(dispatch_get_main_queue()) {
self.golferNameLabel.text = data.objectForKey("name") as? String
self.usernameLabel.text = "Username: \(data.objectForKey("username")!)" as String
self.golferProfileImage.file = data.objectForKey("profileImage") as? PFFile
self.golferProfileImage.loadInBackground()
}
}
}
} else {
print(error)
}
})
}
}