2014-01-20 108 views
0

我有一個PersonNSManagedObject類型。 這個班有@property (nonatomic, retain) NSSet *mentors;導師是Person班的多對多關係。NSPredicate排除自己從自己設置

我正在嘗試爲NSFetchedResultsController創建NSPredicate,以從結果中排除_person及其mentors

NSPredicate *prPerson = [NSPredicate predicateWithFormat:@"SELF != %@ AND NONE mentors = %@",_person,_person]; 

謂詞的第一部分工作很好,但我有第二個問題。我也試過"ANY mentors != %@"沒有成功。

如何從結果中排除_person.mentors

回答

3

要排除_person_person.mentors以下謂語應該工作:

[NSPredicate predicateWithFormat:@"SELF != %@ AND NOT SELF IN %@", 
     _person, _person.mentors] 
1

我相信這可能工作:

NSPredicate *prPerson = [NSPredicate predicateWithFormat:@"SELF != %@ AND NOT (SELF IN %@)", _person, _person.mentors]; 
+0

出於某種原因,我想的是'_person.mentors' – sbooth

+0

它給' ''以類型NSException'''的未捕獲異常終止 – Shmidt