アプリケーション内では、同じNSManagedObject
を共有する必要がある異なるUIViewController
を持つことができます。私は通常、次の手順を実行している:NSManagedObjectsをUIViewControllerに渡すためのレシピ
customController.productManaged = ....
一度CustomController
がそれを解放する責任があり、行わ:私はCustomController
をistantiateとき
@interface CustomController : UIViewController
@property (nonatomic, retain) ProductNSManagedObject* productManaged;
@end
は、その後、私は次のようにそれを注入。
このアプローチはうまくいきます(正しいかどうかわかりません)が、コントローラがそのオブジェクトを必要とするが、そのオブジェクトを持つコントローラの直接の子ではない場合はどうすればよいでしょうか?例えば
MainController -> ChildController -> SubChildController -> ....
ここで、MainController
は管理オブジェクトを有する。
多くの仲介プロパティを作成する必要がありますか、または新鮮なNSFetchRequest
などを実行する必要がありますか?
同じ態様をNSManagedObjectContext
に適用することができます。私はそれが存在するアプリケーションデリゲートからコンテクストを取得できることを知りました。しかし、このアプローチは、柔軟性に欠け、マーカス・ザラがpassing-around-a-nsmanagedobjectcontext-on-the-iphoneに書いたように。
提案がありますか?前もって感謝します。
ご回答いただきありがとうございました。しかし、この別のオブジェクトは、すべての共有オブジェクトへの参照を保持し、それらのオブジェクトを構築中のオブジェクトに供給することができるので、他のオブジェクトへの依存として渡すために、 。*?たぶん、サンプルプロジェクトを作成するときは、私に教えてください。 –
私はあなたの答えを読み終えました。彼らは便利です。アプローチは非常にきれいですが、私が理解できないのは、* Factory * factory = [[Factory alloc] init]; *アプリケーションの中で* istantiedオブジェクト* factoryを参照する方法です。ありがとうございました。 –
編集を見て、サンプルプロジェクトはそれを明確にする必要があります。 – zoul