【发布时间】:2015-11-08 20:02:04
【问题描述】:
我这里有一个带有 parse.com 代码的 swift 2
问题是代码在 //1 之前打印 // 2 这会造成问题,我无法在其他方法或其他地方使用该数组 这是代码
var myStudent:Student = Student ()
let query = PFQuery(className: "Students")
query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error:NSError?) -> Void in
var the_array = objects as! AnyObject
for i in 0...the_array.count-1
{
myStudent.NameStudent = the_array[i].valueForKey("name") as! String
self.myStudentsArray.append(myStudent)
print(self.myStudentsArray.count) //1
}
}
print(self.myStudentsArray.count) //2
【问题讨论】:
-
这是有意的。
findObjectsInBackgroundWithBlock异步工作。考虑将您的设计从被动(等待返回值)更改为主动(在完成块中进行更改/更新)。 -
我知道原因,并且使用 findObjectsInBackgroundWithBlock 这么快的代码我的问题是这段代码有什么解决方案吗?
标签: swift parse-platform