用于PFQueryTableViewController的PFQuery或SubQuery无法正常工作

时间:2014-12-15 03:59:08

标签: ios uitableview parse-platform pfquery

我有一个表格视图处理复合查询,我更新了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永远不会被调用,并且我的表视图在加载状态下挂起。求救!

1 个答案:

答案 0 :(得分:2)

解决方案与我上面没有包含的一行有关。 我有这个:

if ([self.objects count] == 0) {
    query.cachePolicy = kPFCachePolicyCacheThenNetwork;
}

在最新的Parse SDK和iOS SDK中,cachePolicy被破坏,因此在使用where ContainedIn子句时必须使用kPFCachePolicyIgnoreCache来获得结果。

来源:

https://developers.facebook.com/bugs/717037238403238/