【发布时间】:2020-02-13 13:45:32
【问题描述】:
我试图从包含字符串和图像的 Parse 服务器表中检索所有行。然后将其中的每一个映射到一个 swift 数组,然后在应用程序中使用。当我运行此代码时,我对数组的追加会更新查询块范围内的计数,但一旦超出此代码块 - 我有一个已初始化的空数组。
var langArray = [String]()
override func viewDidLoad() {
super.viewDidLoad()
let query = PFQuery(className:"Languages")
query.findObjectsInBackground { (objects, error) -> Void in
if error == nil {
for object in objects! {
self.langArray.append(object["name"] as! String)
print("inside this loop: \(self.langArray.count)")
}
} else {
print(error!)
}
print("outside the foreach loop: \(langArray.count)")
}
根据代码,我在 viewDidLoad() 中运行查询,因此它将是第一个被检索的内容。
【问题讨论】:
-
你能贴出你用来访问数组的代码吗?我怀疑您遇到了异步数据的问题。您可能在服务器返回数据之前调用了数组。
-
所以数组被设置为一个变量,我将返回的数据附加到。它在作为第一行代码提供的 sn-p 中。
-
是的,我可以看到,我的问题是你说“一旦在这个代码块之外 - 我有一个初始化的空数组。”你能发布你的代码来展示这个发现吗?
-
添加了打印语句,以查看我在将数据填充到数组时得到了什么
标签: ios swift mongodb parse-platform