我有一个带有journalHeaderID字段的托管对象。我可以通过NSLog看到这些项目正确地放入Core Data。要显示我需要根据与视图相关的内容进行过滤的数据。
因此,当我配置我对此数据的视图时,我创建了一组相关的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;
答案 0 :(得分:0)
由于缺乏有关您获得的结果的信息,或者即使您收到了代表留言,我也有一个建议。
使用您创建的提取功能在- (void)performFetch:(NSFetchRequest *)fetch
上致电NSFetchedResultsController
。
如果你已经这样做了,那就不明显了。