質問: 初めて質問させて頂きます。 読みにくい部分があるかもしれませんが、ご容赦下さい。 CoreDataより2階層のテーブルビューを作ろうとしています。 データモデルは以下の通り ・主クラス [属性]名称、区分1 [関係]明細(多) ・明細クラス [属性]名称、区分2 [関係]主(1) 第1階層のテーブルビューは自動生成されたコードの NSFetchedResultsController の sectionNameKeyPath: で 主クラスの区分1ごとにセクション分けすることが出来ました。 第2階層でも同様に、明細クラスを区分2ごとにセクション分けしたいのですが、 主クラスよりNSSetで取得した明細クラスを、どのように扱えば良いのか分かりません。 ソートしてNSArrayにする方法は分かるので、 単純にループさせてセットする方法なら思いつくのですが、 第1階層のNSFetchedResultsController のように 簡単にセクション分けした2次元配列にする方法があればご教授下さい。
回答: 主クラスは、CoreDataにたいするqueryなので、sortDescriptorや、適合条件等をつけてできます。 しかし、ここでの明細クラスは、主クラスのqueryの先に付いている、setですから、NSSetのメソッドをつかってなんとかするしかないでしょう。 * (NSArray *)sortedArrayUsingDescriptors:(NSArray *)sortDescriptors をつかえば、ソートはできるようです。