私の質問はかなり単純だと思いますが、それに対するまともでエレガントな解決策を見つけることができないようです。Core Dataに洗練されたソリューションがないか、Googleのスキルが私を失望させたのかもしれません。その場合は、お詫び申し上げます。
簡単なメッセージングアプリケーションがあるとしましょう。2つのコアデータエンティティがあります:Thread
とMessage
。AThread
には多くのが含まれていMessages
ます。
Threads
私のアプリケーションは、すべてがリストされているUITableViewで開くはずです。アプリケーションは、RestKitとそのオブジェクトマッピングメカニズムを使用してデータをロードします。Messages
プロパティがありますcreated
。
そこで、スレッドのリストを並べ替えて、最新のメッセージを含むスレッドが上に表示され、最も古いメッセージを含むスレッドが下に表示されるようにします。
これはApple自身のメッセージングアプリケーションでも起こっていることであり、CoreDataも使用していると思います。これが、たとえばデータベース内の最新のメッセージへの1つの関係に余分なものを格納するよりも洗練されたソリューションがあることを願う主な理由です。私の場合、RestKitオブジェクトマッピングを使用しており、HTTP APIに影響を与えないため、これは実用的ではありません。
一時的な値を試しましたが、並べ替えることができないため、これは機能しません。NSComparisonResultブロックを使用して並べ替え記述子を試しましたが、コアデータでは、多くの関係で並べ替えることができないと記載されているため、これも機能しません。フェッチされたプロパティを調べましたが、使用する述語がわかりません。
前もって感謝します。