我有一个处理复合查询的表视图,并且我更新了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永远不会被调用,并且我的表视图会在加载状态下挂起。请帮忙!
解决方案与我上面没有提到的那一行有关。我有这个:
if ([self.objects count] == 0) {
query.cachePolicy = kPFCachePolicyCacheThenNetwork;
}
事实证明,在最新的Parse SDK和iOS SDK中,cachePolicy已损坏,因此kPFCachePolicyIgnoreCache
在使用where ContainedIn子句时必须使用来获取结果。
来源:
https://developers.facebook.com/bugs/717037238403238/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句