我有一個NSManagedObject
對象充滿了我想在多個視圖控制器中使用的數據。 我可以使這個對象成爲一個單身,並在多個視圖控制器中使用它?或者我應該使用不同的方法?我可以使NSManagedObject成爲一個單身人士嗎?
2
A
回答
2
作爲單例的替代方案,考慮將其作爲應用程序委託中的屬性,在應用程序完成啓動時進行初始化。
在您的視圖控制器中,當實例化視圖時,請設置一個NSManagedObject
對此屬性值的引用。
2
您已經傳遞NSManagedObjectContext。您可以隨時使用它來獲取所需的數據。
我不知道Core Data如何對你作出單例實例做出反應。首先,NSmanagedObject不使用與NSObject相同的方法進行初始化。
它使用-awakeFromInsert和-awakeFromFetch。所以你已經有了一個問題。
查看來自Marcus Zarra的這個article(核心數據大師)。
總之,只需執行新的獲取以獲取所需的數據,不需要在那裏工作一個單例。
0
這取決於你爲什麼希望使它成爲一個單身人士,如果你無法將它傳遞給所有需要訪問數據的實體,使用單例並不是一個好的解決方案。它通常引入更多的問題而不是解決任何問題。
如果你擔心多次編輯同一個對象,核心數據有機制來處理,請參閱「變更管理」一章中的「核心數據編程指南」
+0
其實我想它使它成爲一個單身人士,因爲我在多個控制器中使用相同的數據在該abject中,並在另一個問題上stackoverflow,他們回答說,我應該使用一個單身人士的那種情況?而不是傳遞給對象。 – Ton 2009-09-03 07:36:25
相關問題
- 1. 可以使用經理類作爲單身人士嗎?
- 2. 使MongoClient實例成爲單身人士
- 3. 我的單身人士可以改善嗎?
- 4. servlet是單身人士嗎?
- 5. UIViewController作爲一個單身人士
- 6. 我可以取消單身單身人士
- 7. 組成vs多個單身人士
- 8. MIDlet作爲單身人士
- 9. Hibernate中的身份生成器是單身人士嗎?
- 10. 一個通用的單身人士
- 11. 嘲笑一個單身人士課
- 12. UISplitViewController委託在一個單身人士
- 13. 用mockito嘲笑一個單身人士
- 14. 可可單身人士和協議
- 15. 可可TDD和單身人士
- 16. JDBC連接池是單身人士嗎?
- 17. 由Singleton包裝的單身人士或非單身人士
- 18. 這真的是一個單身人士嗎?
- 19. 子類化AFHTTPSessionManager並使其成爲單身人士
- 20. 我可以連載NSManagedObject嗎?
- 21. 單身人士破壞者
- 22. 單身人士目標C
- 23. ASP.NET中的單身人士
- 24. 單身人士和常量
- 25. 單身人士在di.dart
- 26. 繼承單身人士
- 27. AFNetworking和單身人士
- 28. 單身人士的後果
- 29. 提升單身人士
- 30. 單身人士和範圍
歐凱中,那是很有必要知道,但當我想要在多個控制器中訪問nsmanagedobject數據時,我需要做什麼? – Ton 2009-09-03 07:44:45
如果您的控制器中有一個NSManagedObject引用指向您在應用程序委託中實例化的單個實例,那麼您應該可以像往常一樣訪問它中的數據。在http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProperties.html – 2009-09-03 09:56:44
上查看Cocoa文檔您可能還想看看Core Data教程,其中介紹瞭如何設置視圖控制器:http://developer.apple.com/IPhone/library/documentation/DataManagement/Conceptual/iPhoneCoreData01/Articles/06_Deleting.html#//apple_ref/doc/uid/TP40008305-CH108-SW1 – 2009-09-03 13:23:17