首页 > 解决方案 > 从 Parse Sever 接收字符串、数字和图像并将它们添加到本地数组

问题描述

我是编码新手,我正在尝试从解析服务器定位、检索和附加值到本地数组。通过查询,我能够成功检索所有信息并将其附加到我的for in 循环中 ViewDidLoad() 的数组中。但是,当我在运行查询 & for in 循环后打印数组的项目时,我的数组都包含 nil,而不是之前添加的值。

  override func viewDidLoad() {
   query.whereKey("Bar", equalTo: BarText!)
    query.findObjectsInBackground(block: { (objects,error) -> Void in
        if error == nil {
        if let returnedobjects = objects {
            for object in returnedobjects {
                let postImageFile = object["PostImage"] as? PFFileObject

                postImageFile?.getDataInBackground(block: { (imageData: Data?, error: Error?) in
                    if error == nil {
                        self.PickedBarImagePostArray.append(UIImage(data: imageData!)!)
                    } else {
                        print("nothing")
                    }
                })
                let userProfilePicFile = object["ProfileImage"] as?
                PFFileObject
                userProfilePicFile?.getDataInBackground(block: { (imageData: Data?, error: Error?) in
                    if error == nil {
                        self.PickedBarPostProfileImageArray.append(UIImage(data: imageData!)!)
                    } else {
                        print("nothing")
                    }
                })

                self.PickedBarPostLikesArray.append((object["Likes"] as? Int)!)
                self.PickedBarPostUsernameArray.append((object["Username"] as? String)!)
                self.PickedBarPostTimeArray.append((object["UserTime"] as? String)!)
                self.PickedBarChekcedInArray.append((object["Checked"]as? String)!)
                self.PickedBarContentPostArray.append((object["ContentPost"] as? String)!)
                self.PickedBarPostArray.append((object["PostType"] as? String)!)
                print(self.PickedBarPostLikesArray)
                print(self.PickedBarPostUsernameArray)
                print(self.PickedBarPostTimeArray)
                print(self.PickedBarChekcedInArray)
                print(self.PickedBarContentPostArray)
                print(self.PickedBarPostArray)
            }
        }
    }
})
    print(self.PickedBarPostLikesArray)
    print(self.PickedBarPostUsernameArray)
    print(self.PickedBarPostTimeArray)
    print(self.PickedBarChekcedInArray)
    print(self.PickedBarContentPostArray)
    print(self.PickedBarPostArray)
    self.BarSelectedTableView.reloadData()

}

我在控制台中得到了这个:

[]

[]

[]

[]

[]

[10]

[“麦哲伦”]

[“下午 5 点 59 分”]

["\"\""]

["\"\""]

这是我的解析服务器

标签: iosarraysswiftuitableviewparse-platform

解决方案


这是因为在完成关闭之前调用了重新加载代码。


推荐阅读