获取字段中的所有值

时间:2015-05-18 11:57:03

标签: ios swift parse-platform

我正在使用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也很好

2 个答案:

答案 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上)。