我正在使用Parse
我有一个带有字段的“Post”类。
帖子类有一些字段,其中一个是与“用户”类
我想查询Post类并获取响应中的所有用户。
let query = PFQuery(className: "Post")
// How to get all user in the post class
还有其他方式......
let query = PFQuery(className: "Post")
let usersQuery = PFUser.query()
usersQuery.whereKey("SELF", matchesKey: "user", inQuery: query)
但我知道没有SELF关键字
目标C也很好
答案 0 :(得分:0)
鉴于this page in the Parse documentation,它看起来应该是这样的:
let query = PFQuery(className: "Post")
query.findObjectsInBackground() { posts, error in
if (!error) {
for post in posts {
let user = post["user"]
println("User: \(user)")
}
} else {
// Log details of the failure
println("Error: \(error), \(error.userInfo)")
}
}
答案 1 :(得分:0)
在Parse中,您使用PFQuery来查询数据库..
在回调中(异步)你得到一个PFObject或一个PFObjects数组。
如何做到这一点写在their guide
中这是一个小例子: 您可以通过调用PFObject上的数组函数来获取所有属性/字段。
var pfObject = PFObject()
pfObject["yourcolumn"] as? String //Whatever you want
在您的情况下,PFUser将是解决方案
pfObject["yourusercolumn"] as? PFUser
要查询您使用PFQuery
Asynchronusly(preffered):
var query = PFQuery(className:"GameScore")
query.whereKey("playerName", equalTo:"Sean Plott")
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
// The find succeeded.
println("Successfully retrieved \(objects!.count) scores.")
// Do something with the found objects
if let objects = objects as? [PFObject] {
for object in objects {
println(object.objectId)
}
}
} else {
// Log details of the failure
println("Error: \(error!) \(error!.userInfo!)")
}
}
Synchronusly:
var query = PFQuery(className:"GameScore")
var objects = query.findObjects()
for object in objects {
// Do whatever you want with your pfobject
}
Asynchronus查询更有可能是因为它们不能在GUI线程上运行,这会使您的应用程序更快(在UI上)。