Swift 解析查询完成时更新图像
我正在使用Swift编写的应用程序解析。这是一款允许用户拥有个人资料的高尔夫应用程序。用户可以在“编辑纵断面图”控制器上编辑纵断面图,保存它,然后将其带回主纵断面图控制器。我遇到的问题是,如果用户更改了他们的纵断面图并将其保存,则主纵断面图控制器上的图像不会更新,但新纵断面图信息的其余部分会更新。我认为解析查询的时间已经过了,图像也没有及时返回。这是我对我的主要个人资料页面的查询。我尝试使用“dispatch\u async”方法,但似乎不起作用。提前谢谢Swift 解析查询完成时更新图像,swift,parse-platform,pfquery,dispatch-async,pffile,Swift,Parse Platform,Pfquery,Dispatch Async,Pffile,我正在使用Swift编写的应用程序解析。这是一款允许用户拥有个人资料的高尔夫应用程序。用户可以在“编辑纵断面图”控制器上编辑纵断面图,保存它,然后将其带回主纵断面图控制器。我遇到的问题是,如果用户更改了他们的纵断面图并将其保存,则主纵断面图控制器上的图像不会更新,但新纵断面图信息的其余部分会更新。我认为解析查询的时间已经过了,图像也没有及时返回。这是我对我的主要个人资料页面的查询。我尝试使用“dispatch\u async”方法,但似乎不起作用。提前谢谢 func getProfile
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)
}
})
}
}
在您的情况下,我认为您应该使用PFImageView,在加载真实图片时,您可以使用占位符图像。我还看到您正在将这些数据保存到一个数组中,因此您应该一起下载所有内容,而不是请求连接到ParseView。我正在使用PFImageView。问题是,当解析查询返回时,它不会更新图像。首先,您需要使用占位符图像设置PFImageView,然后检查数据是否为零,然后将其分配给PFIIImageView并将其加载占位符图像是用户以前的配置文件图像。谢谢你的帮助。我只是通过在查询中对PFObject子类化来实现它。此外,我没有搞乱查询,现在一旦图像从查询中返回,它就会更改图像。我的意思是,如果您使用最后一个用户图像作为占位符,您应该下载它,然后分配它,最后获取新图像并加载它