PFQuery查找其密钥与NSString匹配的PFUser

时间:2015-02-18 02:28:20

标签: ios facebook uitableview parse-platform pfquery

我首先为有史以来最随机的漫无边际的头衔道歉。这是我的情况。我通过获取用户拥有的也使用该应用程序的所有Facebook好友的列表来填充UITableView。我明白这个:

[FBRequestConnection startForMyFriendsWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
        if (!error) {
            // result will contain an array with your user's friends in the "data" key
            self.friendObjects = [result objectForKey:@"data"];
            self.jobsTemp = [[NSMutableArray alloc] initWithCapacity:self.friendObjects.count];
            NSLog(@"%@", self.friendObjects);
            for(NSDictionary *jobsInfo in self.friendObjects) {


                FriendArray *jobby = [[FriendArray alloc] init];
                jobby.name = [jobsInfo valueForKey:@"name"];
                NSLog(@"Name%@", jobby.name);
                // jobby.name = jobsInfo[@"additional"];
                jobby.facebookid = jobsInfo[@"id"];


                [self.jobsTemp addObject:jobby];

            }
            self.jobsArray = self.jobsTemp;
            NSLog(@"ARRAY%@", self.jobsArray);//set @property (nonatomic, copy) NSArray *jobsArray; in the .h
            [self.tableView reloadData];
        }
    }];

_User中的每个条目都有一个名为fbId的列。我想要做的是在单击一行时搜索所有PFUser,并找到具有与该特定行的id匹配的fbId条目的PFUser。到目前为止我尝试的是:

FriendArray *job = self.jobsArray[indexPath.row];

    PFObject *object = [PFObject objectWithClassName:@"_User"];

    PFQuery *query = [PFUser query];

    [query whereKey:job.facebookid equalTo:object[@"fbId"]];


    NSLog(@"Query%@", [query findObjects]);

然而,我无法弄清楚我做错了什么。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您需要创建两个PFQuery对象。一个代表第一个用户,第二个代表朋友。

您正在寻找的Parse API查询方法是: - (instancetype)whereKey:(NSString *)key matchesKey:(NSString *)otherKey inQuery:(PFQuery *)query

您将执行以下操作:

[friendQuery whereKey:@"id" matchesKey:@"fbId" inQuery:userQuery]