我創建了一個名爲TItem的NSManagedObject。那個對象,我添加了一個幫手實例方法如下所示:創建將對象傳遞給實例方法的NSPredicate
- (BOOL) isItemForUser:(TUser *)user;
isItemForUser各種屬性的TUSER對象本身進行比較,根據比較結果返回一個BOOL。
我想創建一個謂詞,它將能夠將TUser對象傳遞給該方法,以便我可以找到所有TItem對象,該對象在傳遞給定對象時將返回YES。從本質上說,我想要做的東西像下面這樣:
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"isItemForUser:%@ == YES",self.user];
上述語法顯然是不正確的,但是我正在尋找在同一個精神的東西。有任何想法嗎?
謝謝!
這是一個有趣的想法。它確實破壞了我正在尋找的一些封裝。此方法將用戶的性別和年齡與自己的屬性進行比較。 (它基本上回答了這個問題:「這個TItem是否適合30歲以上的男性?」)因此,我希望TItem自己使用這種方法來確定。如果我要理解你,你建議只公開TItem的'forGender'和'forAge'屬性,然後構建一個複合謂詞,該複合謂詞創建'isItemForUser'當前正在評估的相同邏輯表達式?感謝您的建議! – DeepFriedTwinkie