我有一个表格视图处理复合查询,我更新了Parse,现在它似乎不再起作用了。我不确定它是否是Parse更新,但是情况如下:
查询如下(在PFQueryTableViewController的queryForTable方法(被调用)中):
self.parseClassName = @"Event";
PFQuery *attendeeQuery = [PFQuery queryWithClassName:self.parseClassName];
PFQuery *organizerQuery = [PFQuery queryWithClassName:self.parseClassName];
[attendeeQuery whereKey:@"attendees" containsAllObjectsInArray:[NSArray arrayWithObjects:[PFUser currentUser], nil]];
[organizerQuery whereKey:@"organizer" equalTo:[PFUser currentUser]];
PFQuery *query = [PFQuery orQueryWithSubqueries:@[organizerQuery, attendeeQuery]];
[query includeKey:@"organizer"];
[query whereKey:@"isVisible" equalTo:[NSNumber numberWithBool:YES]];
[query orderByAscending:@"time"];
return query;
当我运行此查询时,objectsDidLoad永远不会被调用,并且我的表视图在加载状态下挂起。求救!
答案 0 :(得分:2)
解决方案与我上面没有包含的一行有关。 我有这个:
if ([self.objects count] == 0) {
query.cachePolicy = kPFCachePolicyCacheThenNetwork;
}
在最新的Parse SDK和iOS SDK中,cachePolicy被破坏,因此在使用where ContainedIn子句时必须使用kPFCachePolicyIgnoreCache
来获得结果。
来源:
https://developers.facebook.com/bugs/717037238403238/