Swift 解析查询完成时更新图像

Swift 解析查询完成时更新图像,swift,parse-platform,pfquery,dispatch-async,pffile,Swift,Parse Platform,Pfquery,Dispatch Async,Pffile,我正在使用Swift编写的应用程序解析。这是一款允许用户拥有个人资料的高尔夫应用程序。用户可以在“编辑纵断面图”控制器上编辑纵断面图,保存它,然后将其带回主纵断面图控制器。我遇到的问题是,如果用户更改了他们的纵断面图并将其保存,则主纵断面图控制器上的图像不会更新,但新纵断面图信息的其余部分会更新。我认为解析查询的时间已经过了,图像也没有及时返回。这是我对我的主要个人资料页面的查询。我尝试使用“dispatch\u async”方法,但似乎不起作用。提前谢谢 func getProfile

我正在使用Swift编写的应用程序解析。这是一款允许用户拥有个人资料的高尔夫应用程序。用户可以在“编辑纵断面图”控制器上编辑纵断面图,保存它,然后将其带回主纵断面图控制器。我遇到的问题是,如果用户更改了他们的纵断面图并将其保存,则主纵断面图控制器上的图像不会更新,但新纵断面图信息的其余部分会更新。我认为解析查询的时间已经过了,图像也没有及时返回。这是我对我的主要个人资料页面的查询。我尝试使用“dispatch\u 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)
            }
        })
    }
 }

在您的情况下,我认为您应该使用PFImageView,在加载真实图片时,您可以使用占位符图像。我还看到您正在将这些数据保存到一个数组中,因此您应该一起下载所有内容,而不是请求连接到ParseView。我正在使用PFImageView。问题是,当解析查询返回时,它不会更新图像。首先,您需要使用占位符图像设置PFImageView,然后检查数据是否为零,然后将其分配给PFIIImageView并将其加载占位符图像是用户以前的配置文件图像。谢谢你的帮助。我只是通过在查询中对PFObject子类化来实现它。此外,我没有搞乱查询,现在一旦图像从查询中返回,它就会更改图像。我的意思是,如果您使用最后一个用户图像作为占位符,您应该下载它,然后分配它,最后获取新图像并加载它