NSManagedObject
オブジェクトが複数のビューコントローラで使用したいデータでいっぱいです。 このオブジェクトをシングルトンにして複数のView Controllerで使用できますか?あるいは私は別のアプローチをとるべきですか?NSManagedObjectをシングルトンにすることはできますか?
答えて
シングルトンの代わりに、アプリケーションがアプリケーションのデリゲートでプロパティを作成し、アプリケーションの起動が完了したときに初期化することを検討してください。
ビューがインスタンス化されたときに、ビューコントローラでこのプロパティの値への参照をNSManagedObject
に設定します。
すでにNSManagedObjectContextを渡しています。これを使用して、いつでも必要なデータを取得できます。
コアデータがどのように反応してシングルトンインスタンスを作成するのか分かりません。 NSmanagedObjectは、NSObjectが行う初期化に同じメソッドを使用しません。
-awakeFromInsertと-awakeFromFetchを使用します。あなたはすでに問題があります。
Marcus Zarra(Core Data Guru)からarticleを参照してください。
要するに、新しいフェッチを実行して必要なデータを取得するだけで、そこでシングルトンを処理する必要はありません。
これはシングルトンにする必要がある理由によって異なりますが、データにアクセスする必要があるすべてのエンティティに渡すのに問題がある場合は、シングルトンを使用することは良い解決策ではありません。それは通常、何かを解決するのではなく、より多くの問題を導入する。
あなたが同じオブジェクトに複数の編集を心配している場合は、コアデータは、それを処理するためのメカニズムを持っている、「コアデータ・プログラミング・ガイド」の「変更管理」の章を参照してください
実際には、私は複数のコントローラでそのabjectの同じデータを使用し、stackoverflowの別の質問で、シングルトンを使用する必要があると回答しました。オブジェクトにrefを渡すのではなく、 – Ton
- 1. シングルトンを非シングルトンにすることはできますか?
- 2. NSManagedObjectの内部にブロックを格納することはできますか?
- 3. 私のシングルトンは誰が見ることができますか?
- 4. NSManagedObjectのサブクラスをエンコードできますか?
- 5. NSManagedObjectをシリアル化できますか?
- 6. この「シングルトン」はASP.NETアプリケーションでスレッドセーフであるべきですか?
- 7. シングルトンExecutorServiceを使用することは安全ですか
- 8. 私のアプリケーションをモデリングするとき、NSManagedObjectサブクラスを再利用できますか?
- 9. ダガー2:他のスコープにシングルトンを注入することができません
- 10. このオブジェクトはシングルトンですか?
- 11. NSManagedObjectをダーティとマークする方法はありますか?
- 12. コンテキストのperformBlockの外でNSManagedObjectを使用できますか?
- 13. C++でそのクラス内の静的クラス(シングルトン)インスタンスへの参照を返すことはできますか?
- 14. これをピボットテーブルにすることはできますか?
- 15. このシングルトンをどのように置き換えるのですか?
- 16. シンプルなシングルトンをどのように作成できますか?
- 17. シングルトンに対してステートマシン図を描画できますか?
- 18. NSManagedObjectはNSAtomicStoreCacheNodeから属性を取得できません
- 19. スクロールバーを非表示にすることはできますが、オーバーフローを防ぐことはできますか?
- 20. SimpleAdapterをAndroidでシングルトンにするには?
- 21. Matlabはなぜ空行列をシングルトン行列と比較できますか?
- 22. サービスクラスはJavaでシングルトンにする必要がありますか?
- 23. カスタムエラーをプログラムでオフにすることはできますか?
- 24. Pythonでモジュールをiterableにすることはできますか?
- 25. Windsor MixInはシングルトンですか?
- 26. NSFetchedResultsControllerはcontrollerDidChangeContentを呼び出すことはありません:非フェッチNSManagedObject
- 27. 私は実際にシングルトンを必要としていますか?
- 28. サーブレットのシングルトンをどこに保存しますか?
- 29. NSManagedObjectを更新するには
- 30. javascriptはwebpackとインラインにすることができますか?
オーケー、知っておくと便利thatsのが、複数のコントローラでnsmanagedobjectデータにアクセスしたいときは、何をする必要がありますか? – Ton
コントローラに、アプリケーションデリゲートでインスタンス化した単一のインスタンスを指すNSManagedObject参照がある場合は、通常と同じように、そこからデータにアクセスできるはずです。 Cocoaのドキュメントはhttp://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProperties.html –
をご覧ください。また、Core Dataチュートリアル、ビューコントローラの設定を順を追って説明します。http://developer.apple.com/IPhone/library/documentation/DataManagement/Conceptual/iPhoneCoreData01/Articles/06_Deleting.html#//apple_ref/doc/uid/TP40008305-CH108-SW1 –