我正在尝试在公开的额外类文件中读取/写入数据。 (StoreData.swift)
我的功能:
func FetchName (NameforDate: String) -> NSString
{
var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
var context:NSManagedObjectContext = appDel.managedObjectContext!
}
在“(UIApplication.sharedApplication().”所在的行,我得到了错误:
StoreData.swift:115:49: 'sharedApplication()' is unavailable: Use view controller based solutions where appropriate instead.
我创建了 App 和 Today Extension。
最佳答案
如果您需要一个托管对象上下文,您可以在您的扩展中创建您自己的上下文。您将无法使用您的 AppDelegate。我建议将其从您的应用程序委托(delegate)移出到可以在两者之间共享的类。您仍然可以监听核心数据更新,因此它们不需要共享上下文/持久存储坐标。
编辑:
我想指出,扩展本质上是一个不同的沙盒。因此,如果您创建一个共享类,实例将不会在应用程序和扩展之间共享。因此使持久存储协调器和上下文不同。
关于ios - 应用程序和扩展 - 使用核心数据 == 错误 : sharedApplication()' is unavailable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26934888/