Parse.com关注/关注逻辑

时间:2014-07-14 18:23:06

标签: ios parse-platform pfquery

在尝试找出以下情况的某些逻辑时遇到一些麻烦。

我使用解析为我的移动应用构建了一个朋友系统。简单地说,当用户“跟随”某些东西时,他们会被置于一种关系中。该关系包含个人用户所拥有的所有人。

User
Relationship - Friends (contains all of the users that that overall user has followed)

我可以很容易地查询个人用户的关注点:

PFQuery *query = [PFUser query];
[query whereKey:@"username" equalTo:@"asg"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    for (PFObject *object in objects) {

        PFRelation *friendsRelation = [object objectForKey:@"Friends"];

        PFQuery *query = [friendsRelation query];
        [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
            if (!error) {
                NSLog(@"%@", objects);
            } else {

            }
        }];
    }
}];

但我如何查询谁跟踪某个用户?所以,是用户的追随者。

3 个答案:

答案 0 :(得分:1)

如果您已经了解该用户,请使用whereKey:equalTo:

PFObject *user = ...;
PFQuery *query = [PFUser query];
[query whereKey:@"Friends" equalTo:user];
[query findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error) {

如果您需要进行查询以获取用户,请将请求与whereKey:matchesQuery:合并:

[query whereKey:@"Friends" matchesQuery:userQuery];

答案 1 :(得分:0)

我实际上做了很多关于实施可能对您有用的朋友列表的博客文章:

代码示例使用JavaScript,但不应太难转换为iOS。

它涵盖了关系,查询,更新等。

对您的问题的简短回答使用加入表而不是关系,这样您就可以轻松地从关系的两端进行查询。

您可以在Parse网站上的关系指南中找到大量信息:

https://parse.com/docs/relations_guide#manytomany-jointables

答案 2 :(得分:0)

我认为你要的是PFUser * user = [PFUser currentUser]方法。如果您正在尝试为当前登录的用户检索朋友。您可以使用相同的方法来检索当前用户登录的用户。