Parse查询没有返回

时间:2015-04-01 20:39:53

标签: swift parse-platform xcode-6.2

我正试图通过Parse拉取用户附近的位置进行查看,除了我只得到一个白色屏幕或一个空表。

已编辑:在提交查询附近的查询之前,我忽略了添加地理位置调用。在测试中,我发现位置是在'geoPontForCurrentLocationInBackground'下确定的。但是,一旦建立了geopoint并提交了查询,用户位置就不会在查询中返回纬度或经度。此外,查询不返回任何对象,我不知道为什么:

override func queryForTable() -> PFQuery! {
    var query = PFQuery(className: "User")

     PFGeoPoint.geoPointForCurrentLocationInBackground {
        (userLocation: PFGeoPoint!, error: NSError!) -> Void in
        if error == nil {

        }
    }

    let point: PFGeoPoint = PFGeoPoint(latitude: self.userLoc.latitude, longitude: self.userLoc.longitude)
    query.whereKey("location", nearGeoPoint: point, withinMiles: 50.0)
    query.limit = 10
    return query
    }

override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!, object: PFObject!) -> PFTableViewCell! {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as Shops
    if let object = object {
        if let shopName = object.valueForKey("shopName") as? String {
        cell.shopList.text = shopName
   }
   }
    return cell as Shops
 }

2 个答案:

答案 0 :(得分:0)

您正在设置查询,但从未实际执行过。 Per the Parse documents,您需要添加:

// Final list of objects
queryResults = query.findObjects()

queryForTable() return语句之前,以获取查询对象。

答案 1 :(得分:0)

我认为问题在于Parse将User类视为特殊类。如果将其视为自定义类,则可能难以查询User类。

正确且经过测试的方法是 PFUser 的查询功能。

var query = PFUser.query()