我有一个应用程序,用户添加其他用户,并将其保存为Parse上的关系。这是我用来保存/添加的代码:
PFUser *user = (PFUser *)object;
[friendsRelation addObject:user];
[self.friends addObject:user];
[self.currentUser saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (error) {
NSLog(@" %@ %@", error, [error userInfo]);
}
}];
现在,在另一个视图控制器中,我真的不知道如何在TableView
内显示用户的所有朋友。
答案 0 :(得分:1)
我会研究使用PFQueryTableViewController
。这允许您查询关系并在表格中显示结果。代码看起来像这样:
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
// Custom the table
NSLog(@"Init");
// The className to query on
self.parseClassName = @"_User";
// The key of the PFObject to display in the label of the default cell style
self.textKey = @"firstName";
// Whether the built-in pull-to-refresh is enabled
self.pullToRefreshEnabled = NO;
// Whether the built-in pagination is enabled
self.paginationEnabled = YES;
// The number of objects to show per page
self.objectsPerPage = 25;
}
return self;
}
- (PFQuery *)queryForTable {
PFQuery *query = [self.relation query];
// If no objects are loaded in memory, we look to the cache first to fill the table
// and then subsequently do a query against the network.
if ([self.objects count] == 0) {
NSLog(@"NONE");
query.cachePolicy = kPFCachePolicyIgnoreCache;
}
[query orderByAscending:@"lastName"];
return query;
}
其中self.relation
是您从当前用户获取的关系。
EDITL如果您不想使用PFQTVC(这是更容易的选项,并包含更多功能),您可以使用常规的tableview。首先,获取当前用户的关系:
PFRelation *relation = [[PFUser currentUser] relationForKey:@"friends"];
现在,查询这个关系:
PFQuery *query = [relation query];
NSArray *array = [query findObjects];
现在,您可以使用包含PFUser对象的该数组的内容填充您的常规表。