在我的NSFetchedResultsController
中,我想要一個NSPredicate
,它只能獲取具有特定關係的對象。NSPredicate中的相關NSManagedObject
例如:
我有三個子類NSManagedObject
S:Flight
,Aircraft
,Battery
。
每Flight
有一個Aircraft
。每個Flight
可以有幾個Battery
對象。
所以,當我獲取了Flight
的對象,這是我已經與謂詞嘗試:[NSPredicate predicateWithFormat:[NSString stringWithFormat:@"aircraft = %@", aircraftObj]];
所以我只是想獲取這些都與特定Aircraft
對象Flight
對象。這不起作用,但我該怎麼做?
其次,在此基礎上,Flight
已有batteries
這是NSSet的Battery
對象。所以如果我想像飛機那樣做,但是過濾Battery
物體,我會如何做到這一點?
謝謝,讓我知道如果我需要進一步解釋。
不知道我理解。我正在抓取'Flight'對象。我手邊還有一架飛機。所以在獲取時,我只想獲取'Flight'對象,其中'aircraft'關係等於我擁有的'Aircraft'對象。我按照你的建議嘗試了,但是在創建'NSPredicate'時崩潰,並且在日誌中說'無法解析格式串'。 –
解決了它!我正在使用一個NSString,然後我將它放入謂詞中。通過將它直接放入我的謂詞中,它就可以解決問題。但是,如果我想追加更多的謂詞呢?這就是爲什麼我將字符串擴展到最終結果,然後設置謂詞。雖然謝謝! –
閱讀[THIS](https://developer.apple.com/library/mac/documentation/cocoa/reference/foundation/classes/NSCompoundPredicate_Class/Reference/Reference.html)關於連接謂詞 –