0

AssignmentとQuestionという名前の2つのコアデータエンティティがあります。割り当てエンティティには、名前、IDなどの割り当ての詳細があります。質問テーブルには、質問名、IDなどがあります。割り当てには、質問と1対多の関係があります。サーバーから割り当ての詳細を取得しようとすると、割り当てと質問のデータが取得され、割り当てと質問の両方のエンティティがコアデータストアで更新されます。2つの異なる割り当てが同じ質問を共有する場合があることに注意してください。

ここで、割り当て1にはID 1、2、および3の質問がありますが、割り当て2にはID 4、5、および1の質問がありますが、私の質問テーブルでは、ID 1の質問は両方で共通であるため、5つのエントリしかありません。割り当て。

NSFetchedResultsControllerを使用して、これをUIに配置しています。コアデータストア(データベース)に追加されたのと同じ順序で質問をフェッチする際に問題が発生しました

例:割り当て2の場合、4、5、1の質問が必要です。並べ替え記述子を作成するために使用できる一意のキーはありません。並べ替え記述子がないと、NSFetchRequestを作成できず、それがないとNSFetchedResultsControllerを作成できません。 。この問題を解決することについて何か考えはありますか?

4

1 に答える 1

1

私の考えでは、最良のパターンは、シーケンス番号属性だけでなく、との多対1の関係と多対AssignmentQuestion1の関係を持つ新しいエンティティを作成することです。AssignmentQuestion

Assignment <--------->> AssignmentQuestion <<--------> Question
|--name                 |--sequence                   |--text
|--id                                                 |--id
|--etc.                                               |--etc
于 2013-01-16T11:03:58.957 に答える