NSPredicate を使用してオブジェクトの可変配列をフィルタリングしようとしていますが、フィルタリングしたいプロパティを含むレベルにアクセスできません。
同様のカスタム オブジェクトで構成される簡単な例を挙げます。
- 祖父母
- 親
- 子
祖父母の NSMutableArray があり、10 歳の孫を持つすべての祖父母オブジェクトを検索したいと考えています。したがって、孫はルートから 2 レベルの深さになります。Child には age プロパティがあります。
すなわち。Grandparents には配列プロパティ Parents があり、Parents には配列プロパティ Children があり、Children には整数プロパティ age があります。
次の NSPredicate は結果を返しませんでした。"SELF.parents.children.age == 10"
.
これらはネストされたコレクションであるため、この述語は間違った方法である可能性が高いことを認識していますが、そのレベルにアクセスする方法については行き詰まっています。おそらくサブクエリまたはコレクション演算子を介してですが、解決できません。
心に留めておくべきことの 1 つは、年齢の異なる複数の孫 (そのうちの 1 人は 10 歳) を持つ祖父母が明らかに必要であることです。