我有一个具有一些属性的实体。我的tabes已经填充(SQLite表) 在一个属性(我称之为Attribute1)中,我有一个bool值,在使用我的应用程序时会发生变化。
如何使用Attribute1值YES返回我的实体计数?
我已经阅读过“核心数据教程”和“谓词编程指南”,但我不明白如何继续...
NSPredicate *predicate= [NSPredicate predicateWithFormat:@"Attribute1 == %@",[NSNumber numberWithBool:YES]];
我试过这个,然后呢?它似乎不起作用..
答案 0 :(得分:3)
最好的办法是使用countForFetchRequest方法。设置谓词和获取请求,但不是执行实际的提取,而是执行countForFetchRequest,如下所示:
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
NSPredicate *predicate =
[NSPredicate predicateWithFormat:@"Attribute1 == %@",
[NSNumber numberWithBool:YES]];
[request setPredicate:predicate];
NSUInteger count = [myManagedObjectContext countForFetchRequest:request error:nil];
您可以在Apple API文档中找到更多信息:
countForFetchRequest:错误: 如果传递给executeFetchRequest,则返回给定获取请求返回的对象数:error:。
状况 适用于iOS 3.0及更高版本。 宣告进入 NSManagedObjectContext.h