我正在尝试使用此查询加载我的PFQueryTableViewController ..它一直返回空白...我不认为我正在正确返回查询..我不知道如何从WITHIN的“ secondQuery”访问对象“ AdminQuery”。

提前致谢!

  func queryForTable() -> PFQuery {

let getAdminquery = PFQuery(className: "Employee")
getAdminquery.whereKey("companyEmployee", equalTo: PFUser.currentUser()!.objectId!)
getAdminquery.findObjectsInBackgroundWithBlock { (objects, error) -> Void in

  if error == nil {

    if let objects = objects as? [PFObject] {

      for object in objects {

        let adminFollowingUser = object["companyAdmin"]  as! String

        let secondQuery = PFQuery(className:"PoolAccount")

        secondQuery.whereKey("userId",equalTo:adminFollowingUser)
        secondQuery.findObjects()

      }
    }
  }
}

return getAdminquery //return secondQuery can't be called...
  }

最佳答案

正如Patrick Lynch所说,您正在闭包内部定义一个函数。我认为您不需要那个dispatch_async,因为PFQueryTableViewController已经为您完成了工作。 queryForTable()也不应该在viewDidLoad内部。

定义要表显示的类,是PoolAccount吗? PFQueryTableViewController的queryForTable仅支持返回单个查询。但是,如果您的班级相关,则可以使用PFQuery(orQueryWithSubqueries)query.includeKey()来完成。

注意:
但是,当您确定如何使方法正常运行时,您正在for循环中创建objects.count查询。如果第一个查询获得200个结果,您是否要再运行200个查询?那可能超出了您对Parse.com的请求限制。

而是考虑将所有adminFollowingUser存储在一个数组中,并使用.whereKey("key", containedIn: YourArray)或类似查询查询PoolAccount。

关于swift - 如何在PFTablequery中返回多个findObjectsInBackground,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31553009/

10-14 21:51
查看更多