我有一個實體MyEntity
有一個tags
對多關係,所以tags
是NSSet
的MyEntity
。它是可選的,所以有些MyEntity's
沒有tags
。這裏的我想要做什麼:基於關係內容的NSPredicate
predicate= [NSPredicate predicateWithFormat:
@"(rootId == parentId AND NONE tags.tagName == %@)", @"badTag"];
所以我想所有MyEntitys
其中rootId == parentId
,不給我任何實體,如果它的標籤有一個名爲"badTag"
標籤。這裏的問題是,如果實體沒有任何標籤可言,不返回該實體。我試過了上面的一個變種:
@"(rootId == parentId AND ANY tags.tagName != %@)", @"badTag"];
但是,這給出了相同的結果。我如何才能使這個謂詞適用於實體根本沒有任何標籤的情況?
做沒有標籤,有標籤設置爲零,或根本沒有設置的實體。 – rdelmar
他們應該只是默認值。他們從未設置過,我從不篡改他們。 – Snowman
我測試此代碼,而是使用自定義對象,而不是核心數據實體,和你的第一個謂語的條件下工作,與標籤設置是零(或設置爲無明確或只是未設置)。我不知道爲什麼它與實體有什麼不同。 – rdelmar