我正在学习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
}
我找不到引用iOS10
和iOS9
的方法。我现在将它们写为:
//持久容器
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
我现在将如何编写它们以供iOS10
和iOS9
引用?
非常感谢