セットアップ: 親オブジェクトのコレクションがあり、それらを ObjectA と呼びます。各 ObjectA には、ObjectB との 1 対多の関係があります。したがって、1 つの ObjectA には 0..n 個の ObjectB が含まれる場合があり、各 ObjectB には特定の ObjectA が親として含まれます。
ここで、ObjectA の Core Data fetch を実行したいと思います。ここでは、最新の ObjectB によってソートされます。そのためのソート記述子を作成することは可能ですか?
まったく同じ状況を説明する関連する質問があります。答えは、属性を ObjectB から ObjectA に非正規化することを提案しています。1 回のフェッチ要求でこれを行う方法が本当にない場合は、これで問題ありません。
関連する質問では、次のことも言及されています。
実は、ちょっと思いつきました!会話をメッセージで並べ替えることができるかもしれません.@max.sortedDate…</p>
私は試した。それは不可能のようです。次のエラーが表示されます。
2012-10-05 17:51:42.813 xxx[6398:c07] *** Terminating app due to uncaught
exception 'NSInvalidArgumentException', reason: 'Keypath containing
KVC aggregate where there shouldn't be one; failed to handle
ObjectB.@max.creationTime'
属性を ObjectA に非正規化するのは唯一の/最良の解決策ですか?