私は2つのエンティティを持っています。1 つは TableView のセクション (月の名前など) を記述します。このエンティティは、TableView の行を記述する必要がある別のエンティティとの 1 対多の関係に関連付けられています。
NSFetchedResultController でこれらのエンティティを取得する方法が少し混乱しています。今のところ、一度に取得できる関係は 1 つだけです。では、テーブルを適切に埋めるには、どれを取得する必要がありますか?
私は2つのエンティティを持っています。1 つは TableView のセクション (月の名前など) を記述します。このエンティティは、TableView の行を記述する必要がある別のエンティティとの 1 対多の関係に関連付けられています。
NSFetchedResultController でこれらのエンティティを取得する方法が少し混乱しています。今のところ、一度に取得できる関係は 1 つだけです。では、テーブルを適切に埋めるには、どれを取得する必要がありますか?
を使用している場合NSFetchedResultsController
は、テーブルビューに表示するオブジェクトをフェッチします。
セクションを取得するには、NSFetchedResultsController
のsectionNameKeyPath
プロパティを使用して、フェッチされたオブジェクトの1つからセクション名を見つける方法を示します。このキーパスはvalueForKeyPath:
、セクション名を取得するためにフェッチされたオブジェクトの1つに渡すことができるものです。あなたの場合、その名前を取得するには、関係を月のエンティティ(または実際のエンティティ)に戻す必要があります。たとえば、リレーションシップが呼び出されmonth
、Monthエンティティに属性がある場合、フェッチされた結果コントローラーを作成するときに、引数としてのname
ようなものを渡します。@"month.name"
sectionNameKeyPath
優れた Sensible TableView フレームワークを使用して、Core Data オブジェクトを自動的に取得し、それらをテーブル ビューに表示することもできます。フレームワークは、エンティティに関係があるかどうかも検出し、エンティティ間の詳細ビュー コントローラーを自動的に管理します。