2013-10-06 3 views
19

私はこのフォーラムとウェブ上で回答を検索するために最善を尽くしました。私はいくつかの関連トピックを見つけましたが、私が探していた答えは見つかりませんでした。私はすでにそこに1つがある場合は謝罪し、私はそれを逃した可能性があります。オーダードコアデータの関係 - 管理方法またはデフォルトの注文は何ですか?

コアデータ内にリレーションシップを追加する場合、そのリレーションシップを「順序付け」(チェックボックス)するオプションがあります。コアデータが関係の順序付けやデフォルトの注文(あれば)をどのように管理していますか?

私はヘッダーと詳細エンティティを取得しました。私は "To-Many"の関係を指定し(Headerは多くのDetailを持つことができます)、 "Ordered"チェックボックスをチェックしました。私が "Header"をフェッチするとき、どの属性を注文するかを指定することができます - 私はこれで大丈夫ですが、私の質問はこれに関連していません。結果をテーブルビューに表示し、ユーザーが詳細情報をタップすると、別のテーブルビューに詳細を表示します。私は詳細を表示するためにFetchResultControllerを使用しません、私は関係を介して詳細にアクセスします。つまり、詳細の順序は指定しません。私の質問はこれに関連しています。コアデータが詳細の順序をどのように管理していますか?私は "Ordered"として関係を指定していたので、実際にはデフォルトで詳細を注文していますか?はいの場合、デフォルトの注文動作は何ですか?

答えて

17

ordered設定では、そのエンティティ内にNSOrderedSetというプロパティが作成されます。したがって、本質的に、それらは追加される順序に基づいて順序付けられます。

あなたはsortedArrayUsingComparator:

詳細情報を使用して設定を自分で並べ替えることができます。https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSOrderedSet_Class/Reference/Reference.html

関連する問題