有人可以解释我(或帮助)为什么我会这样打印:
A and B:[45.35924,14.39673,Name 1,0, 45.35509,14.40257,Name 2,7] // this is ok
C and D:nil //this is not
使用此代码:
var dataFromParse: Array<String>!
//im calling this func in viewDidLoad and I'm sending to it the ID for row in Parse
func getFromParse(ID: String) -> (){
var take: AnyObject!
var test: AnyObject!
var query = PFQuery(className: "ClassName")
query.getObjectInBackgroundWithId(ID){
(getData: PFObject!, error: NSError!) -> Void in
if (error == nil){
take = getData["stations1"]
let json2 = JSON(take)
self.dataFromParse = json2.arrayObject as Array<String>!
test = json2.arrayObject as Array<String>!
}
else{
println(error)
}
println("A:\(self.dataFromParse)")
println("B:\(test)")
}
println("C:\(dataFromParse)") //i need print here like i'm printing it in println("A...
println("D:\(test)")
}
这是问题,因为我需要在整个程序中使用 dataFromParse
,而不仅仅是查询。
我已尝试在func中使用测试变量,但结果相同。
那么,我怎样才能在程序中的任何地方获得 dataFromParse
?
答案 0 :(得分:0)
您需要在完成处理程序中收到数据时存储数据,以便以后可以访问它。如果你有C行和D行,那么数据还没有返回。
答案 1 :(得分:0)
我已经通过调用这一行代码来解决这个问题,我需要从Parse.com获取数据,以及我需要做的所有事情,我在if(!error)语句中执行。它不是主持方式,但它有效。