我正在尝试使用此查询加载我的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/