我读了很多关于核心数据的书..但是什么是对实体类型进行计数的有效方法(比如SQL可以使用SELECT count(1)…).现在,我刚刚解决了这个任务,用NSFetchedResultsController
Select 全部,并得到NSArray
的计数!我相信这不是最好的方式...
我读了很多关于核心数据的书..但是什么是对实体类型进行计数的有效方法(比如SQL可以使用SELECT count(1)…).现在,我刚刚解决了这个任务,用NSFetchedResultsController
Select 全部,并得到NSArray
的计数!我相信这不是最好的方式...
我不知道使用NSFetchedResultsController是否是实现目标的最有效方法(但可能是).获取实体实例计数的显式代码如下:
// assuming NSManagedObjectContext *moc
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:entityName inManagedObjectContext:moc]];
[request setIncludesSubentities:NO]; //Omit subentities. Default is YES (i.e. include subentities)
NSError *err;
NSUInteger count = [moc countForFetchRequest:request error:&err];
if(count == NSNotFound) {
//Handle error
}
[request release];