2017-02-20 8 views
0

同じデータを表示する3つのビューコントローラがあります。基本的には、順番に提示されます。彼らはNSFetchedResultsControllerとフェッチされた同じエンティティを提示しています。UIViewController間でNSFe​​tchedResultsControllerを渡す

これらは同じNSFetchedResultsControllersなので、私は今考えています。コントローラー間を渡すだけで、物を最適化して作成する必要がありますか?これには欠点があるのでしょうか、それともこの良い習慣はいいですか?

また、コントローラをデータベースの変更に対応させたいので、データセットを渡すだけでは不十分です。

答えて

1

私はコントローラーの間を通過するものを最適化して作成するだけですか?

はい、すべてのVCのinitで同様のfetchRequestを実行するオーバーヘッドを最小限に抑えることは良い方法です。 - 代わりになるのVC間NSFetchedResultsControllersオブジェクトを渡すの
より良い代替

  • は同様にヘルパークラスへのすべてのFetchedResultsControllers初期&デリゲート機能の実装を完全に抽象洗礼をするには、次の
    @interface CoreDataHelper: NSObject <NSFetchedResultsControllerDelegate>

  • ますdelegateリスナーの再配線が必要& allocating &のために適切な時間を選択してください(必須ではありません)インスタンスの

  • シングルトンCoreDataHelperは、すべてのコアデータのやりとりを処理するのに十分役立ちます。離れ&独立View成分から

分離Model相互作用は、&簡潔それらを再利用可能な製造、疎結合モジュールを作成するために可能にします。

関連する問題