【发布时间】:2015-09-21 13:08:55
【问题描述】:
我正在使用 Swift,我正在尝试将 Parse Query 的结果附加到数组中,但是,该数组仅在查询的 for 循环中打印时才显示附加值。当我在方法返回之前尝试在循环之外打印数组时,我得到一个空数组。如何获取带有附加值的数组以显示在 for 循环之外?
class Task {
func all() -> Array<String> {
var taskArray = Array<String>()
var query = PFQuery(className:"Task")
var currentUser = PFUser.currentUser() // this will now be nil
let userId = currentUser?.objectId
query.whereKey("userId", equalTo: currentUser!)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
// The find succeeded.
println("Successfully retrieved \(objects!.count) tasks.")
// Do something with the found objects
if let objects = objects as? [PFObject] {
for object in objects {
// println(object.objectId)
let title = object["title"]! as! String
taskArray.append(title)
println("Array: \(taskArray)")
}
}
} else {
// Log details of the failure
println("Error: \(error!) \(error!.userInfo!)")
}
}
println("Outside query array: \(taskArray)")
return taskArray
}
}
看起来外部查询在查询之前被调用或类似的东西。调试控制台:
【问题讨论】:
标签: ios arrays swift cocoa parse-platform