私はこれをしばらく研究していますが、私はいくつかの解決策があると思いますが、それらが良いとは確信できません。それは私が何かを逃したことがあります:-)テーブルビュー、コアデータNSSetからのレコードを正しい順序で表示
私は2つのテーブルがあります。 TableAの各レコードには、TableBに複数のレコードがあります。私。 1対多数の関係。私はそれをコアデータにマッピングし、クラスを生成しました。ここまでは順調ですね。私は、彼らは、単一の表レコードの異なるフィールドであるため、私のtableView:cellForRowAtIndexPath:
それはセクション1個の細胞を処理するのは簡単ですしている時
Section 1
Cell 1: Table A: field1
Cell 2: Table A: field2
-----
Section 2
Cell 1: Table B: record 1: field1
Cell 2: Table B: record 2: field1
....
:UIベース
私のテーブルビューは次のようになりする必要があります。セクション2のセルは異なります。 tableView:cellForRowAtIndexPath:
が呼び出されるたびに、テーブルAのNSSetから正しいテーブルBレコードを取得する必要があります。それは問題です。
NSSet docoは、注文を守らないことを示します。これは私がインデックスに基づいて特定のレコードをしたい場合、私はいくつかの可能な技術を持っていることを意味します
- コアデータクエリにソート記述子を追加し、私がしたいレコードを取得するには、高速列挙体を使用しています。私たちがまだNSSetで作業しているので、これがうまくいくかどうかわかりません。
- NSArrayを生成するためにデータを取得した後、ソート記述子を使用してNSSetをソートし、テーブルロードを開始する前にプロパティに格納します。
- NSArrayのように動作するNSSetのデコレータを記述し、ソートフィールドを指定してNSSetの変更を自動的に追跡できる3番目のオプションを考えています。トリッキーだが、長期的には恩恵を受けるかもしれない。
どちらの回答も素晴らしいとは思われません。これを行うより良い方法はありますか?