我有一个fetchedResultsController
,它会撤回一些User
个对象。
我与User
个对象存在一对多的关系,一个User
与Site
个sitesToUser
对象称为[fetchedResultsController fetchedObjects]
。
我正在尝试快速过滤我的NSPredicate *pred = [NSPredicate predicateWithFormat:@"sitesToUser.isActive == 0"];
NSArray *filt = [[self.fetchedResultsController fetchedObjects] filteredArrayUsingPredicate:pred];
,执行:
filt
但是,isActive
数组永远不会返回任何结果。我使用哪个Entity属性似乎并不重要,它永远不会在'filt'中返回任何结果。
在上文中,BOOL
是NSNumber
保存为{{1}}。任何想法....?
答案 0 :(得分:0)
我想出来了。只需添加ANY函数,即可返回符合条件的所有“用户”对象:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"ANY sitesToUser.isActive == 0"];
效果很好!
答案 1 :(得分:0)
在谓词中添加“ANY”似乎确实有效。 (即使它对我没有多大意义)也许它不适用于所有情况。如果有人仍有问题,我首先要解决这个问题:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"sitesToUser.isActive == %@", [NSNumber numberWithBool:YES]];
到目前为止,这对我有用。