ios swift parse:如何收集指针数据

use*_*112 1 ios parse-platform swift

我有这个问题:

        var query = PFQuery(className: "CardSet")
        query.whereKey("user", equalTo: PFUser.currentUser())
        query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in

            if (error == nil) {

                // found

            }else{
                println(error.userInfo)
            }
        }
Run Code Online (Sandbox Code Playgroud)

结果如下:

<CardSet: 0x7c892120, objectId: 2yty7cpnyF, localId: (null)> {
    ACL = "<PFACL: 0x7be65450>";
    lesson = "<Lesson: 0x7beaabd0, objectId: JV7trFTx5Z>";
    name = "I am your CardSet";
    public = 1;
    user = "<PFUser: 0x7be834a0, objectId: baz8ObNsmM>";
}
Run Code Online (Sandbox Code Playgroud)

类"CardSet"具有指向"课程"类的指针"课程".如何在查询结果中使用Lesson.name?或者我需要第二次查询?那会很糟糕,因为要解析的请求数量很多......?有没有更好的方法只在一个查询中获取所有指向的数据?

Jam*_*ost 11

您可以告诉Parse使用以下includeKey方法获取相关对象:

var query = PFQuery(className: "CardSet")
query.whereKey("user", equalTo: PFUser.currentUser())
query.includeKey("lesson")
query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]!, error: NSError!) in
    for cardset in objects {
        var lesson = cardset["lesson"] as PFObject
        var name = lesson["name"] as String
        println("retrieved related lesson: \(post) with name: \(name)")
    }
}
Run Code Online (Sandbox Code Playgroud)

  在文档的Relational Queries部分中提到.