我读了很多关于 Core Data 的文章。但是什么是计算实体类型的有效方法(就像 SQL 可以用 SELECT count(1) …)。现在我刚刚解决了这个任务,选择了所有NSFetchedResultsController并获得了NSArray!我确信这不是最好的方法......
NSFetchedResultsController
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];