Swift 解析查询没有返回

Swift 解析查询没有返回,swift,parse-platform,xcode-6.2,Swift,Parse Platform,Xcode 6.2,我试图通过Parse for tableview拉取用户附近的位置,但我只得到一个白色屏幕或一个空表 编辑:我忽略了在提交geopoint附近的查询之前添加位置调用。在测试中,我发现位置是在“geoPontForCurrentLocationInBackground”下确定的。但是,一旦建立了地质点并提交了查询,用户位置就不会在查询中返回纬度或经度。此外,查询不返回任何对象,我不确定原因: override func queryForTable() -> PFQuery! { va

我试图通过Parse for tableview拉取用户附近的位置,但我只得到一个白色屏幕或一个空表

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

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
 }

您正在设置查询,但从未实际执行它,您需要添加:

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

在queryForTable return语句之前获取查询对象。

我认为问题在于Parse将用户类视为一个特殊类。如果将用户类视为自定义类,则可能很难查询该类

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


谢谢,亚当。我刚刚用“query.findObjects”测试了它,但它仍然没有加载任何对象。我尝试在方法建立后添加'var queryResults=NSString'作为第一行,然后按照建议添加'queryResults=query.findObjects'。还使用“query.findObjects”运行它。我应该补充一点,我是Swift和Parse的新手;请原谅我的无知。您需要合并@ericgu对自定义用户类的建议,并确保返回queryResults变量。谢谢您,Adam!!太糟糕了,我不能检查两个答案,因为这是一个组合。如果可以的话,我会支持你的回答。谢谢你,埃里克。我尝试用一个空参数省略类名,但它也没有返回任何对象。这不是我提供的。尝试使用PFUser not PFQUERY的查询函数刚刚完成合并您和Adam的建议。很好的建议。非常感谢。
var query = PFUser.query()