2012-01-26 6 views
1

私の質問はここにこの1同様です:iOSの多対多関係で作成されたアクセサメソッドは、NSFetchedResultsControllersと同じくらい良いですか?

ResultsController to another ResultsController

典型的なアプリケーションの構造は、テーブルビューを介してデータをドリルダウンすることで、アプリのモデルの多くは、階層的です。例えば、映画祭には多くの映画があります。映画には多くの審査員がいて、多くの出席者を持つことができます。このモデルを表すためにコアデータを使用する場合は、NSFetchedResultsControllerを使用して、フィルムをUITableViewに取り込むことができます。 NSFetchedResultsControllerを使用すると、パフォーマンスとメモリー効率が大幅に向上し、基礎となるデータの変更を監視するための組み込みサポートが提供されます。私はできる限り私のプロジェクトでこれを利用したいと思っています。私たちは、この甘いNSFetchedResultsControllerに裏打ちされた膜のテーブルを持っており、ユーザーはその上映のリストを見るためにフィルムを選択した場合

そこで、我々は新しいUITableViewControllerにそのフィルム(NSManagedObjectのサブクラス)を通過して、それを取り込むことができます映画の上映とテーブル。

私の質問の核心は「どうすればいいの?代わりにNSFetchedResultsControllerの便益がNSManagedObjectと一緒に旅行するかどうかを尋ねています。私は述部でイベントを使用して新しい結果コントローラーを構築することができましたが、必要はありません。私は有効にした場合

NSSet *filmScreenings = [film screenings]; 

:私はfilmという変数にフィルムオブジェクトを渡し、そして私の対多の関係がscreeningsとして識別されている場合、私はこのようなその映画に関連した上映のセットを取得することができると信じてアレイにセットし、それをスクリーニングの私の新しいテーブルビューを裏付けるデータとして使用すると、私はNSFetchedResultsControllerの利点を失っていますか?私の勇気は私に、特に変化を監視するためのサポートを教えてくれますが、アップルのドキュメントのよくある質問は私に二番目の推測をもたらし、コミュニティ全体に尋ねました。 in this FAQ「エンティティAからエンティティBまで多対多の関係があります...」

アクセサーメソッドを使用するか、新しいNSFetchedResultsControllerを作成する必要がありますか?

答えて

2

に置き換えると、このような操作(バッチフェッチや変更監視など)を行うと、NSFetchedResultsControllerのメリットが失われます。あなたは、Filmを詳細コントローラに渡して、NSFetchRequestの述語にこのFilmを使用してNSFetchedResultsControllerを構成することをお勧めします。

+0

これはまさに私がやったことであり、最適化する必要のない小さなデータセットでアクセサメソッドを使用するだけです。まっすぐ答えてくれてありがとう! – SilithCrowe

関連する問題