1

我正在尝试查询应用程序当前用户的 PFRelation 以加载显示所有用户朋友的表格视图。每个用户在第一次使用该应用程序时都保存在一个名为“User”的类下,一旦他们添加了一个朋友,该朋友就会被添加到该用户的“friendsRelation”列中。我正在使用从这个链接获得的这段代码,查询没有返回任何内容。

PFQuery *query = [PFQuery queryWithClassName:@"User"];
[query whereKey:@"friendsRelation" equalTo:[PFUser currentUser]];

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (error) {
        NSLog(@"An error occurred fetching friends");
    }

    else {
        [self.friends addObjectsFromArray:objects];
        [self.tableView reloadData];
    }
}];
4

3 回答 3

4

试试这个:

PFRelation *relation = [[PFUser currentUser] relationForKey:@"friendsRelation"];
PFQuery *query = [relation query];
[query findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error) {
     // results contains all friends of current user
}];
于 2013-12-10T01:06:31.237 回答
1

你不是查询PFUser表,所以你不能[query whereKey:@"friendsRelation" equalTo:[PFUser currentUser]];用来查询User表,因为除了对象之外friendsRelation不包含任何PFUser对象User。只需获取User代表当前用户的对象并使用它来查询关系。

于 2013-12-10T00:10:29.330 回答
1

查询用户表不要使用

[PFQuery queryWithClassName:@"User"];

改为使用

[PFUser query];

只有在您创建了自己的“用户”表时才使用第一个,此时如果您检查了数据浏览器,您将看到两个不同的表,都称为“用户”。

于 2014-07-21T13:50:40.343 回答