我的解析类中有一个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"
我希望打印出服务历史记录,无法找到正确的查询...它是每个对象的JSONS数组。
这就是我正在寻找打印出来的东西。每个Pfobject都附加了一系列JSON。所以我想我可能需要一个阵列数组来放入它? [[PFObject]]?提前谢谢。
答案 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)
}