简体   繁体   English

Parse.com缓存复合查询

[英]Parse.com Caching Compound Queries

Basic Parse.com queries are being cached but I am unable to cache this specific query, I have ran this many time as suggested and cached results are always nil. 基本的Parse.com查询正在缓存中,但是我无法缓存此特定查询,我已经按照建议运行了很多次,并且缓存的结果始终为零。 Please advise a solution. 请提供解决方案。

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!");
    }
}];

Removing the query limit solved the problem. 删除查询限制可以解决此问题。 Apparently subqueries do not support limits. 显然,子查询不支持限制。

query.limit = [NSNumber numberWithInt:10]; query.limit = [NSNumber numberWithInt:10]; //removed //已移除

Limit, is a NSInteger property, not a NSNumber. 限制是NSInteger属性,而不是NSNumber。 Tried query.limit = 10 and worked just fine. 尝试使用query.limit = 10并正常工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM