0
journalHeaderID 필드가있는 관리 대상 개체가 있습니다. NSLog를 통해 해당 항목이 핵심 데이터에 올바르게 배치되고 있음을 알 수 있습니다. 보기와 관련된 항목으로 필터링해야하는 데이터를 표시하려면자릿수 문제
이 데이터의 내보기를 구성 할 때 관련 ID 배열을 만들었습니다. 내가 코드를 실행할 때, 비록 내가 거기에 있다는 것을 알았지 만 나는 결과를 얻지 못한다.
이 술어는 사용하기에 적합하다고 생각했지만 올바르게 작동하지 않아서 이유가 확실하지 않습니다.
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"journalHeaderID IN %@", idsToList];
여기는 술어로 전달되는 배열이며 NSNumber와 NSString 모두로 시도했습니다.
<__NSArrayM 0xa01af70>(
800555,
800552,
800685,
803592,
803593
)
NSFetchRequest *request = [NSFetchRequest new];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"JournalHeader" inManagedObjectContext:[[BWCoreDataHelper sharedInstance] managedObjectContext]];
[request setEntity:entity];
[request setFetchBatchSize:20];
if(idsToList.count > 0) {
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"journalHeaderID IN %@", idsToList];
[request setPredicate:predicate];
}
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"headerCreateDate" ascending:NO];
[request setSortDescriptors:@[sort]];
NSFetchedResultsController *fetchedResults = [[NSFetchedResultsController alloc] initWithFetchRequest:request managedObjectContext:[[BWCoreDataHelper sharedInstance] managedObjectContext] sectionNameKeyPath:nil cacheName:nil];
self.fetchedResultsController = fetchedResults;
self.fetchedResultsController.delegate = self;
어떤 결과가 나오나요? Apple docs는 "SQL IN 연산과 동일하게, 왼편은 오른쪽에 지정된 콜렉션에 나타나야합니다. 예를 들어, IN { 'Ben', 'Melissa', 'Nick'}과 같은 이름입니다. collection은 배열, 집합 또는 사전이 될 수 있습니다. 사전의 경우 값이 사용됩니다. " – RobP
배열의 데이터 유형이 데이터 모델과 일치해야합니다. 숫자 또는 문자열입니까? – Wain
performFetch를 호출하지 않는 것 같습니다. –