【发布时间】:2014-11-14 18:25:45
【问题描述】:
我想在没有 UIApplication.sharedApplication() 的情况下访问 CoreData,因为我想从 Extension 和 Application 管理 CoreData。 例如我不想使用:
var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
var context:NSManagedObjectContext = appDel.managedObjectContext!
但是使用没有 UIApplication 的东西...
谢谢!
【问题讨论】:
-
应用代理的扩展?
-
我的意思是今天扩展......我想从我的应用程序的 ViewController 以及 TodayViewController 访问核心数据......
-
您在应用程序委托中设置它,然后从您想要的任何视图控制器访问它。创建一个新项目并选择“使用核心数据”,然后检查应用程序委托中的代码。这是存储该代码的最佳位置,因为它具有“applicationDidTerminate”和仅在应用程序委托中调用的其他方法,这些方法是保存托管对象上下文的好地方
-
我知道这一点,但我需要快速使用该代码来访问核心数据。例如函数...
-
不完全确定这是否是重复的,因为它在 Objective-C 中,但它是这样工作的:stackoverflow.com/questions/21050408/… 你应该能够将它翻译成 Swift,依赖注入是一个非常简单的概念有一个花哨的名字。