Parse Query首先正常运行iOS Swift

时间:2015-08-10 12:14:37

标签: ios swift parse-platform

我根据用户位置检索解析数据到我的应用程序。

当我第一次启动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()

    }

1 个答案:

答案 0 :(得分:0)

您可能想要做的是在委托方法中调用处理新位置接收的loadData方法,这样您就可以知道在调用查询时,它只会在您知道时运行城市和国家都是人口稠密而不是零。