小编典典

Cocoa Core Data 计算实体的有效方法

all

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


阅读 70

收藏
2022-08-07

共1个答案

小编典典

我不知道使用 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];
2022-08-07