使用静态变量引用viewContext来为iOS 9和iOS 10 Swift 4实施Core Data

时间:2019-03-30 09:56:41

标签: ios swift core-data

我正在学习Core Data,我需要为iOS 9和iOS 10实现Core Data,因为我唯一的iPad测试设备是运行iOS 9.3.5的iPad3。我试图在堆栈溢出中遵循此处的其他解决方案,但找不到针对我的情况的具体答案。我正在尝试遵循此解决方案

  

https://charleswilson.blog/2016/09/09/out-of-context-using-core-data-on-ios-9-3-and-10-0/

我通常使用viewContext作为

来引用static var
static var persistentContainer: NSPersistentContainer {
        return (UIApplication.shared.delegate as! AppDelegate).persistentContainer
    }
    static var viewContext: NSManagedObjectContext {
        return persistentContainer.viewContext
    }

我找不到引用iOS10iOS9的方法。我现在将它们写为:

//持久容器

static var persistentContainer: NSPersistentContainer {
     if #available(iOS 10.0,*){
    return (UIApplication.shared.delegate as! AppDelegate).persistentContainer
} else {
// what context to return here for iOS 9?
}
}


//  context
static var viewContext: NSManagedObjectContext {
    if #available(iOS 10.0,*){
        return persistentContainer.viewContext
    } else {
        return // what context to return here for iOS 9?
    }
}

但出现错误:Instance member 'databaseContext' cannot be used on type 'AppDelegate'。 另外,因为我提供的类型为: NSPersistentContainer: NSManagedObjectContext,只会使static var可用于iOS10 我现在将如何编写它们以供iOS10iOS9引用? 非常感谢

0 个答案:

没有答案