从Parse

时间:2016-01-01 19:46:53

标签: ios swift parse-platform

我在Parse中有一个名为Post的类,其中包含一个名为“user”的列,该列指向User类中的特定用户。

我们如何通过Post类中的“user”指针列从User类访问“username”字符串列...我们需要检索用户名字符串并在原型中设置UILabel文本像这样的单元格:

cell.name.text = posts["username"] as? String

其中posts是Post类PFObject。上面的行不起作用,因为我们不能直接下标User类的“用户名”列。

1 个答案:

答案 0 :(得分:0)

要从另一个对象中使用您指向的对象的属性,您需要在该类中包含该对象。 query()方法。

例如,在Post类中,您可以使用以下类变量和方法

var posts=[Post]()

override class func query() -> PFQuery? {  
    let query = PFQuery(className: Post.parseClassName())
    // additional query definition...
    query.orderByDescending("postDate")
    // include the user pointer column on the Post table
    query.includeKey("user")
    return query
}

在您应用的其他地方,您将检索帖子。

func loadPosts() {

    let query = PFQuery(className: "Post")

    query.findObjectsInBackgroundWithBlock {
        (objects: [PFObject]?, error: NSError?) -> Void in

        if error == nil {
            // The find succeeded.
            if let objects = objects {
                self.posts = (objects as? [Post])!
            }
        } else {
            // Log and notify details of the failure
        }
    }
}

您应该能够通过以下方式从帖子的每个元素访问用户名:

let name = posts[i].user.username

您的课程定义和代码会有所帮助。