2013-07-04 36 views
2

基本Parse.com查询正在缓存,但我无法缓存这个特定的查询,我已经跑了很多次,因为建议和缓存结果总是零。请告知解决方案。Parse.com缓存化合物查询

PFQuery *lotsOfWins = [PFQuery queryWithClassName:@"Class1"]; 
[lotsOfWins whereKey:@"Score" equalTo:@"0:]; //AND 
[lotsOfWins whereKey:@"Status" notEqualTo:@"4"]; 

PFQuery *fewWins = [PFQuery queryWithClassName:@"Class2"]; 
[fewWins whereKey:@"NAME" equalTo:@"KHAN"]; AND 
[fewWins whereKey:@"meetingStatus" notEqualTo:@"4"]; 


PFQuery *query = [PFQuery orQueryWithSubqueries:[NSArray arrayWithObjects:fewWins,lotsOfWins,nil]]; 
[query orderByDescending:@"updatedAt"]; 
query.limit = [NSNumber numberWithInt:10]; 
query.cachePolicy = kPFCachePolicyCacheThenNetwork; // CACHE POLICY 
[query findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error) { 

    NSLog(@"Successfully retrieved %d results.", results.count); 
    if(error) { 
     NSLog(@"It's an error!"); 
    } 
}]; 

回答

0

限制,是NSInteger属性,不是NSNumber。尝试query.limit = 10,工作得很好。

0

删除查询限制解决了问题。显然,子查询不支持限制。

query.limit = [NSNumber numberWithInt:10]; //删除

+1

这是不正确的。限制是一个整数,而不是一个NSNumber。 query.limit = 10应该工作得很好。 –