2013-07-04 3 views
2

기본 Parse.com 쿼리가 캐싱되고 있지만 이 특정 쿼리를 캐시 할 수 없습니다.이 많은 시간을 제안대로 실행했으며 캐시 된 결과는 항상 nil입니다. 해결책을 조언하십시오.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

사실이 아닙니다. limit는 NSNumber가 아닌 정수입니다. query.limit = 10은 정상적으로 작동합니다. –