【问题标题】:Parse.com Caching Compound QueriesParse.com 缓存复合查询
【发布时间】:2013-07-04 21:13:28
【问题描述】:

正在缓存基本 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!");
    }
}];

【问题讨论】:

    标签: ios objective-c parse-platform


    【解决方案1】:

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

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

    【讨论】:

    • 这不是真的。 limit 是一个整数,而不是 NSNumber。 query.limit = 10 应该可以正常工作。
    【解决方案2】:

    Limit,是一个 NSInteger 属性,而不是 NSNumber。试过 query.limit = 10 并且工作得很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-20
      • 2014-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多