Ios 如何在pfquerytableviewcontroller中执行复合查询
我在pfquerytableviewcontroller中使用委托查询表方法,如下所示:Ios 如何在pfquerytableviewcontroller中执行复合查询,ios,cocoa-touch,parse-platform,pfquery,Ios,Cocoa Touch,Parse Platform,Pfquery,我在pfquerytableviewcontroller中使用委托查询表方法,如下所示: - (PFQuery *)queryForTable { return [self getMyQuery]; } - (PFQuery *) getMyQuery{ PFQuery *query = [FollowerRelation query]; [query whereKey:@"follower" equalTo:user]; NSArray *foundFol
- (PFQuery *)queryForTable {
return [self getMyQuery];
}
- (PFQuery *) getMyQuery{
PFQuery *query = [FollowerRelation query];
[query whereKey:@"follower" equalTo:user];
NSArray *foundFollowers = [query findObjects];
NSMutableArray *followers = [[NSMutableArray alloc] init];
for (FollowerRelation *aFollower in foundFollowers) {
[followers addObject:aFollower.user];
}
PFQuery *query1 = [GAStatus query];
[query1 whereKey:@"user" containedIn:followers];
[query1 includeKey:@"user"];
[query1 orderByDescending:@"createdAt"];
return query1;
}
当我执行以下简单查询时:
- (PFQuery *)queryForTable {
PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];
[query includeKey:@"gaUser"];
if (self.objects.count == 0) {
query.cachePolicy = kPFCachePolicyCacheThenNetwork;
}
[query orderByDescending:@"createdAt"];
return query;
}
它工作没有问题。如何使用首先选择所有用户的查询?我不确定自己是否完全理解这个问题,如果我错了,请纠正我。为什么不能将此代码放在queryForTable中 PFQuery*query=[FollowerRelation query]; [查询whereKey:@“follower”等于:用户]
NSArray *foundFollowers = [query findObjects];
NSMutableArray *followers = [[NSMutableArray alloc] init];
for (FollowerRelation *aFollower in foundFollowers) {
[followers addObject:aFollower.user];
}
PFQuery *query1 = [GAStatus query];
[query1 whereKey:@"user" containedIn:followers];
[query1 includeKey:@"user"];
[query1 orderByDescending:@"createdAt"];
return query1;
确切地说,您希望为表完成/返回什么查询?这基本上就是我所做的,但提取到另一个方法。我认为,由于主线程中的此调用存在延迟,因此该方法会关闭。因此,问题是查询执行不正确?在切换到pfquerytableviewcontroller之前,此相同的查询工作正常。它是否崩溃或只是需要一段时间才能加载?请详细说明问题所在。运行此代码时发生了什么?