Core Data から取得したマネージド オブジェクトの可変配列があります。それらを ObjectA と呼びましょう。ObjectA は ObjectB と多対多の関係にあり、各 ObjectA には ObjectB の NSSet があります。ObjectB は ObjectC と 1 対多の関係にあります。つまり、各 ObjectB には 1 つの ObjectC があります。
明確になったので (願わくば)、ここで私がやりたいことは次のとおりです。指定された ObjectC の名前に基づいて、ObjectAs の配列をフィルター処理したいと考えています。つまり、Core Data 内のすべての ObjectAs の配列から開始し、ObjectC の名前が "Potatoes" である ObjectB を所有する ObjectAs のみで終了したいと考えています (たとえば)。それが理にかなっていることを願っています...ここにダミーの状況があります: 人 (ObjectA) は多くの曲 (ObjectB) を持つことができ、曲は多くの人が所有できます。私はすべての人の配列を持っていますが、特定のアルバム (objectC) に属する曲を持っている人だけが必要です。うまくいけば、それが状況を明確にするのに役立ちます。
では、特定の ObjectC に基づいて ObjectAs を最適にフィルタリングする方法について誰かアドバイスはありますか? 私は確かにたくさんのループとifsでそれをブルートフォースすることができましたが、NSPredicateのようなものを使ってより少ないステップでそれを行うより効率的な方法があるかどうか疑問に思っています.このような状況)。
任意の提案をいただければ幸いです!
編集
ここに私のモデルの図があります: