Ссылка на viewContext с использованием статической переменной var для реализации Core Data для iOS 9 и iOS 10 Swift 4 - PullRequest
0 голосов
/ 30 марта 2019

Я только изучаю 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? Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...