所以我在正确解析使用下面的代码设置我的关系:Parse.com获取用户喜欢的对象
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 })
当视图加载,我需要更改按钮喜欢和颜色等我想让所有喜欢这个特定的职位的用户,但无法弄清楚查询?它会给我一些其他有用的信息(例如,我可以显示喜欢这个帖子的人的用户名)。
作为一种变通方法,我可以做让所有用户喜欢的职位:
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中有答案,我会翻译。解析文档的建议是错误的:https://www.parse.com/docs/ios_guide#objects-pointers/iOS我可以存储类似的帖子而不是用户,但这意味着我必须打开访问权限,这是一个不是没有的帖子
我的数据库结构很好,我有Post对象和User对象。问题是,当我对关系object.relationForKey(“likes”)做一个relation.query()时,它返回null(大概是因为Posts不喜欢用户)。我遵循了parse.com文档,但是他们的一个教程建议在帖子上设置喜欢关系(即Post likesBy User)。然而,为了做到这一点,我相信所有的帖子都需要公开阅读写入权限,而我只希望他们拥有公开阅读权限(当然除外创建它的用户) – ExoticChimp 2015-03-19 01:26:00
本质上,我设置成功保存关系USER已经开始喜欢POST。现在我想要的是能够检索到反例,即所有那些谁喜欢那个帖子 – ExoticChimp 2015-03-19 01:27:30
我得到的问题。为了更新喜欢的关系,你需要在帖子上写入权限。不幸的是,Parse不允许你设置按字段读/写访问。我真的不认为给Post留下了访问权限,但如果你这么想的话,你可以创建两种不同类型的Post对象 - Post和PostDetail。 Post有一个postDetail指针。帖子是只读的,除了海报,但PostDetail是每个人都可以写的。 PostDetail包含喜欢的关系。 – 2015-03-19 01:31:17