Я только изучаю Core Data, и мне нужно внедрить Core Data для iOS 9 и iOS 10, поскольку моим единственным тестовым устройством для iPad является iPad3 под управлением iOS 9.3.5. Я пытался следовать другим решениям здесь, в переполнении стека, но я не нашел конкретного ответа на мой случай. Я пытаюсь следовать этому решению
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
?
Большое спасибо