我有Person
类NSManagedObject
类型。
这个类有@property (nonatomic, retain) NSSet *mentors;
个导师与Person
类的多对多关系。
我正在尝试为NSPredicate
创建NSFetchedResultsController
,以便从结果中排除_person
及其mentors
。
NSPredicate *prPerson = [NSPredicate predicateWithFormat:@"SELF != %@ AND NONE mentors = %@",_person,_person];
谓词的第一部分效果很好,但我遇到了一个问题。我也尝试"ANY mentors != %@"
但没有成功。
如何从结果中排除_person.mentors
?
答案 0 :(得分:3)
要排除_person
和_person.mentors
,以下谓词应该有效:
[NSPredicate predicateWithFormat:@"SELF != %@ AND NOT SELF IN %@",
_person, _person.mentors]
答案 1 :(得分:1)
我相信这可行:
NSPredicate *prPerson = [NSPredicate predicateWithFormat:@"SELF != %@ AND NOT (SELF IN %@)", _person, _person.mentors];