解析检索指针对象

时间:2015-08-06 12:34:12

标签: ios swift parse-platform

我有以下2个解析类项目和类别。 Items类有一个名为category的列,它是一个指针,指向类中类别中的特定id。但是,当我想通过此指针从类别中检索数据时,它只返回以下内容:

<Categories: 0x7ffddac633b0, objectId: dHbrk97s97, localId: (null)> {
}

这很奇怪,因为类别类包含名称,createdAt和updatedAt?为什么这些没有出现在这个对象中?

完整代码

func retrieveData() {
    //Query Item Information
    var query = PFQuery(className:"Items")
    query.findObjectsInBackgroundWithBlock {
        (objects: [AnyObject]?, error: NSError?) -> Void in

        if error == nil {
            // The find succeeded.

            // Do something with the found objects
            if let objects = objects as? [PFObject] {

                self.collectionView.reloadData()

                for object in objects {

                    var itemId = object.objectId!
                    var description = object["description"]! as! NSString
                    var createdAt = object.createdAt!
                    var title = object["title"]! as! NSString
                    var price = object["price"]! as! Int
                    var category = object["category"] as! PFObject


                    println(category)

                    //Query image
                    var query = PFQuery(className:"Images")
                    query.whereKey("imageId", equalTo:itemId)
                    query.whereKey("primaryImage", equalTo:true)
                    query.findObjectsInBackgroundWithBlock {
                        (objects: [AnyObject]?, error: NSError?) -> Void in

                        if error == nil {
                            // The find succeeded.
                            // Do something with the found objects
                            if let images = objects as? [PFObject] {
                                for image in images {
                                    //var primaryImage = image[]
                                }
                            }
                        } else {
                            // Log details of the failure
                            println("Error: \(error!) \(error!.userInfo!)")
                        }
                    }

                }


            }
        } else {
            // Log details of the failure
            println("Error: \(error!) \(error!.userInfo!)")
        }
    }

}

2 个答案:

答案 0 :(得分:0)

@peter

正如您已经写过的那样,您在解析数据库中创建了两个自己创建的解析类。您可以将这些类称为自定义类或模型类,因此每当您想要打印任何模型类的属性值时,您必须使用NSLog()属性值,如您的情况:(在Objective-C中)

  

分类* catObj = [[Categories alloc] init];

     

NSLog(@“名称:%@,创建时间:%@,更新时间:%@”,catObj.name,catObj.createdAt,catObj.updatedAt);

答案 1 :(得分:0)

在初始化Items查询后尝试添加include方法:

var query = PFQuery(className:"Items")
query.includeKey("category")

此方法在触发查询提取时检索指定的密钥。

https://parse.com/docs/ios/guide#queries-relational-queries