2010-03-16 4 views
1

도와주세요! 나는 이것을 너무 오랫동안 알아 내려고 노력해 왔습니다.fetchedResultsController의 NSPredicate 문제

내 fetchedResultsController 방법에 자 NSPredicate를 사용할 수없는 것 : 나는 단순히 객체가 존재하는지 확인하는 또 다른 방법에서,

- (NSFetchedResultsController *)fetchedResultsController {  
if (fetchedResultsController != nil) return fetchedResultsController; 

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Tweet" inManagedObjectContext:managedObjectContext]; 
[fetchRequest setEntity:entity]; 

NSPredicate *predicate = [NSPredicate predicateWithFormat: @"column == 0"]; 
[fetchRequest setPredicate:predicate]; 

[fetchRequest setReturnsObjectsAsFaults:NO]; 
[fetchRequest setFetchBatchSize:20]; 

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"created_at" ascending:NO]; 
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 
[fetchRequest setSortDescriptors:sortDescriptors]; 

NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"]; 
aFetchedResultsController.delegate = self; 
self.fetchedResultsController = aFetchedResultsController; 

[aFetchedResultsController release]; 
[fetchRequest release]; 
[sortDescriptor release]; 
[sortDescriptors release]; 

return fetchedResultsController; } 

그러나이 술어는 마치 마법처럼 작동합니다

내가 뭘 잘못하고 있니? 미리 감사드립니다! 속성이 번호를 당신의 "열"을 가정

+1

열이란 무엇입니까? –

+0

"열"은 핵심 데이터 속성의 키입니다. – RyJ

답변

0

,이 같은의 NSNumber 객체에 비교해야한다 : 열 이후

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"column == %@",[NSNumber numberWithInteger:0]]; 
+0

나는 그것을 시험해 보았다. 일하지 않았어. – RyJ

+0

이 특정 술어가 작동하지 않는 것은 아닙니다 (컬럼 술어) ... 나는 술어가 작동하지 않는 것 같습니다. – RyJ

+0

performFetch를 다음과 같이 수행하면 NSLog (@ "filteredArrayUsingPredicate = % @", [fetchedResultsController.fetchedObjects filteredArrayUsingPredicate : [NSPredicate predicateWithFormat : @ "열 == % @", [NSNumber numberWithInteger : 0]]]); 잘못된 개체 (열! = 0)가 여전히 fetchedResultsController에 있기 때문에 올바른 개체가 반환되지만 그다지 도움이되지 않습니다. – RyJ

0

는 개체의 속성입니다 다음 술어 논리가 괜찮습니다. 술어가 작동하지 않는다는 것을 나타내는 결과는 무엇입니까?

관련 문제