工作時,此代碼謂詞分配給NSFetchRequest,對於具有實體上的兩個一對多關係(collectionA和collectionB):謂詞不會有兩個@count運營商
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"([email protected] > 0) OR ([email protected] > 0)" ]];
但是,斷言沒有按」 t工作,並選擇所有的對象。如果我更改了該行對這一另一個:
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"[email protected] > 0" ]];
然後,它按預期工作,並將其與collectionA至少一個項目將返回所有對象。 collectionB也一樣。但是,當我嘗試使用OR操作來獲得兩者的組合時,它不會篩選任何對象,就像謂詞被忽略一樣。
我確定我做錯了什麼,也許兩個@count操作符不能用在同一個謂詞中。我該如何編寫一個謂詞才能獲得包含collectionA或collectionB中任何項目的對象的結果?
在此先感謝。
如果每個對象都有至少一個通過'collectionA'或'collectionB'關聯的對象,那麼謂詞將始終評估爲'YES',並且所有內容都將被提取。 –
當然戴夫,但事實並非如此。並非所有對象都通過collectionA或collectionB關係。這就是我認爲這是一個罕見的謂詞行爲。 – Gabriel