我根据用户位置检索解析数据到我的应用程序。
当我第一次启动app时,它会打印" No City"但是if i go to another view and comeback then it works properly
。
有时候它会向我展示其他方面的结果 示例:仅显示城市名称为" sydney"但它显示的结果是城市名称不是" sydney"
这是我的代码
func loadData(){
LiveFeedData.removeAllObjects()
var findLiveFeedData:PFQuery = PFQuery(className: "Spreads")
findLiveFeedData.whereKey("location", equalTo: city)
findLiveFeedData.whereKey("country", equalTo: country)
if city != ""{
findLiveFeedData.findObjectsInBackgroundWithBlock{
(objects:[AnyObject]?, error:NSError?)->Void in
if error == nil{
if let objects = objects as? [PFObject] {
for object in objects{
self.LiveFeedData.addObject(object)
}
}
let array:NSArray = self.LiveFeedData.reverseObjectEnumerator().allObjects
self.LiveFeedData = NSMutableArray(array: array)
self.tableView.reloadData()
}else{
println("Error")
}
}
}else{
println("No City")
}
}
override func viewDidAppear(animated: Bool) {
spinner.startAnimating()
//Location
self.locationManager.requestWhenInUseAuthorization()
self.locationManager.startUpdatingLocation()
self.loadData()
}
答案 0 :(得分:0)
您可能想要做的是在委托方法中调用处理新位置接收的loadData
方法,这样您就可以知道在调用查询时,它只会在您知道时运行城市和国家都是人口稠密而不是零。