Iphone 如何仅获取与Bool属性匹配的某些对象
每次从数据库中获取对象时,我都会获取所有对象。现在,我必须获取并在表视图中仅显示存储在数据库中的一些对象 为此,我想在我的实体中添加一个新属性,一个BOOL属性,这样我就可以只获取属性值等于YES或NO的对象,这取决于具体情况 有可能这样做吗Iphone 如何仅获取与Bool属性匹配的某些对象,iphone,core-data,properties,boolean,nsfetchrequest,Iphone,Core Data,Properties,Boolean,Nsfetchrequest,每次从数据库中获取对象时,我都会获取所有对象。现在,我必须获取并在表视图中仅显示存储在数据库中的一些对象 为此,我想在我的实体中添加一个新属性,一个BOOL属性,这样我就可以只获取属性值等于YES或NO的对象,这取决于具体情况 有可能这样做吗 我发现NSFetchRequest类的-setPropertiesToFetch:方法很有用,但我不知道是否可以使用它来查看BOOL的不同值。听起来你只是想使用谓词。这本书给出了如何使用它们的好主意。基本上,它会为结果添加一个过滤器。例如,假设您有一个具有
我发现
NSFetchRequest
类的-setPropertiesToFetch:
方法很有用,但我不知道是否可以使用它来查看BOOL的不同值。听起来你只是想使用谓词。这本书给出了如何使用它们的好主意。基本上,它会为结果添加一个过滤器。例如,假设您有一个具有属性myBool
的核心数据对象,该属性是BOOL(当然是存储为NSNumber)。要基于此筛选结果,您可以使用以下内容
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"myBool == %@", [NSNumber numberWithBool:YES]];
[fetchRequest setPredicate:predicate];
然后像往常一样继续。这将只返回myBool
值为YES的结果
这就是说,如果您使用请求只是填充tableView,那么最好使用。可以找到一个关于如何实现它的很好的教程。+1我想补充一点,您不应该只为显示数据模型中的实体而向其添加属性。实体属性应该与应用程序处理的真实世界对象、事件或条件的属性非常相似。例如,如果您的应用程序与人打交道,并且您有一个
Person
对象,那么您将有一个firstName
属性,而不是displayInThirdView
属性。第一个是真实人物的属性,但后一个是不属于数据模型的实现细节。。。这太棒了;)我必须更频繁地使用谓词:D