NSPredicate NSFetchedResultsController fetchedObjects

时间:2011-07-30 21:44:43

标签: iphone ios core-data nsfetchedresultscontroller nspredicate

我有一个fetchedResultsController,它会撤回一些User个对象。

我与User个对象存在一对多的关系,一个UserSitesitesToUser对象称为[fetchedResultsController fetchedObjects]

我正在尝试快速过滤我的NSPredicate *pred = [NSPredicate predicateWithFormat:@"sitesToUser.isActive == 0"]; NSArray *filt = [[self.fetchedResultsController fetchedObjects] filteredArrayUsingPredicate:pred]; ,执行:

filt

但是,isActive数组永远不会返回任何结果。我使用哪个Entity属性似乎并不重要,它永远不会在'filt'中返回任何结果。

在上文中,BOOLNSNumber保存为{{1}}。任何想法....?

2 个答案:

答案 0 :(得分:0)

我想出来了。只需添加ANY函数,即可返回符合条件的所有“用户”对象:

NSPredicate *pred = [NSPredicate predicateWithFormat:@"ANY sitesToUser.isActive == 0"];

效果很好!

答案 1 :(得分:0)

在谓词中添加“ANY”似乎确实有效。 (即使它对我没有多大意义)也许它不适用于所有情况。如果有人仍有问题,我首先要解决这个问题:

NSPredicate *pred = [NSPredicate predicateWithFormat:@"sitesToUser.isActive == %@", [NSNumber numberWithBool:YES]];
到目前为止,这对我有用。