Parse.com 获取喜欢某个对象的用户

Parse.com Get User Who Like an Object

所以我已经使用以下代码在 Parse 中正确设置了我的关系:

var user = PFUser.currentUser() var relation = user.relationForKey("likes") relation.addObject(self.post) user.saveInBackgroundWithBlock({ (Bool, error) -> Void in println("user likes this post") // Used for tracking in the PFTableCell for UI parts self.userLikes = true })

加载视图时,我需要将按钮更改为“喜欢”和颜色等。我想要获得所有喜欢这个特定 post 但无法弄清楚查询的用户?它会给我一些其他有用的信息(例如,我可以显示喜欢 post 的人的用户名)。

作为解决方法,我可以通过以下方式获得用户喜欢的所有 post:

var user = PFUser.currentUser()
var relation = user.relationForKey("likes")
relation.query().findObjectsInBackgroundWithBlock {
    (objects: [AnyObject]!, error: NSError!) -> Void in
    if error != nil {
        // There was an error
        println(error)
    } else {
        // objects has all the Posts the current user liked and do something.
        println(objects)         
    }
}

但这不是我想要的?我正在使用 Swift 和 Parse SDK,但很乐意在 Obj C 中找到答案,我会进行翻译。 Parse 文档建议是错误的:https://www.parse.com/docs/ios_guide#objects-pointers/iOS 我可以针对 post 而不是用户存储类似内容,但这意味着我必须打开对 post 的访问权限是一个禁忌

您的数据库结构有问题。您不应该只有 User 对象,还应该有 Post 个对象。 Post 可以有指向所有喜欢 post 的用户的喜欢关系。当用户喜欢 Post 时,该用户将被添加到 Post 的喜欢关系中。因此,要获得所需的信息,您只需查看 Post 的关系。

Post 的开放访问权限是什么意思?您是否希望 post 只对除 post 编辑它的用户以外的所有用户阅读?

或者是授予用户对象访问权限的问题?我不确定这是否真的是个问题,因为您可以 运行 快速计算关系中的用户对象,而无需实际查看用户对象中的数据。您可以创建 Like 对象,但我认为没有必要。