我是编码新手,我正在尝试从解析服务器定位、检索值并将值附加到本地数组。通过查询,我能够成功检索所有信息并将其附加到我在 ViewDidLoad() 中的数组在我的 for in 循环中。但是,当我在运行查询 & 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”]
["\"\""]
["\"\""]
最佳答案
所以我通过创建一个名为“刷新”的按钮来让它工作。一切正常。但是,我想让信息在初始 View 时填充数组,而不是按下按钮。谁能解释为什么会这样?
关于ios - 从 Parse Server 接收字符串、数字和图像并将它们添加到本地数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58419781/