0

我正在为我用 Swift 编写的应用程序使用 Parse。这是一个允许用户拥有个人资料的高尔夫应用程序。用户可以在编辑配置文件视图控制器上编辑配置文件,保存它,然后将它们带回主配置文件视图控制器。我遇到的问题是,如果用户更改了他们的个人资料图像并保存它,图像不会在主个人资料视图控制器上更新,但新的个人资料信息的其余部分是。我的信念是 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)
            }
        })
    }
 }
4

0 回答 0