[英]Trying to use a pointer to another class as part of a Parse Query in Swift
[英]Query class in Parse (swift)
我有一个奇怪的问题。 以下代码块放在第一个View Controller的viewDidAppear部分中,并且在运行时,println(latArray),println(longArray),println(addressArray)均不返回任何值。 在控制台中,它为所有三个数组返回[]。 但是,当我转到另一个视图控制器并返回时,它将填充来自Parse的数据。 为什么是这样? 为什么在第一次使用viewWillAppear方法加载应用程序时,为什么不会填充latArray,longArray和addressArray?
var query = PFQuery(className: "NewLog")
// Add a where clause if there is a search criteria
query.whereKey("Type", containsString: newRecordCreated)
println(query)
query.findObjectsInBackgroundWithBlock({
(objects, error) -> Void in
if error == nil {
// Results were successfully found
if let objects = objects as? [PFObject] {
for object in objects {
//println(object["follower"])
latArray.append(object["Lat"] as! Double)
longArray.append(object["Long"] as! Double)
addressArray.append(object["Address"] as! String)
}
}
// self.tableView.reloadData()
} else {
println("error")
// The network was inaccessible and we have no cached data for
// this query.
}
})
println(latArray)
println("^^Latitude values")
println(longArray)
println("^^Longitude values")
println(addressArray)
println("^^Address values")
}
该查询正在后台执行。 查询完成后,将执行块(关闭)中的代码。 注意:这可能是并且最有可能是在viewDidAppear
完成之后。 如果将打印语句放在for循环之后,则应该看到值。 如果取消注释reloadData
方法,则查询结束后,应使用新信息更新表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.