如何使用swift从Parse检索特定列?

时间:2015-09-02 03:49:02

标签: swift parse-platform pfquery

我的解析类中有一个Array列,名为" serviceHistory"。它采用JSON格式。我在查询所有解析对象(池帐户)的这一列时遇到了问题。

使用此代码我可以打印出每个对象,但我只能访问服务历史记录列。

var query = PFQuery(className:"PoolAccount")
query.selectKeys(["serviceHistory"])
query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in

  if let objects = objects as? [PFObject] {

    self.serviceHistory = objects
    print("these are the selectedKeys \(objects)")

   //THIS PRINTS THE WHOLE OBJECT, AND NOT JUST THE SELECTED KEY."serviceHistory"

enter image description here

我希望打印出服务历史记录,无法找到正确的查询...它是每个对象的JSONS数组。

enter image description here

这就是我正在寻找打印出来的东西。每个Pfobject都附加了一系列JSON。所以我想我可能需要一个阵列数组来放入它? [[PFObject]]?提前谢谢。

2 个答案:

答案 0 :(得分:1)

查询将始终返回PFObject数组,您不能仅限于单个列。您可以对对象进行后处理以提取仅包含每个对象的列内容的数组:

... = objects.valueForKey("selectedKeys")

答案 1 :(得分:0)

想出来..我使用了一个for循环并循环遍历每个对象,然后使用valueForKey并将所有数字附加到数组中。

    for object in objects {

      if let dataObject:AnyObject = object.valueForKey("serviceHistory") {
      let thisJson = JSON(dataObject)

      for (_, entry) in thisJson {

        if let freeChlorineJson = entry["freeChlorine"].string {

          self.freeChlorine.append(freeChlorineJson)
          print(self.freeChlorine)
        }