Мое стартовое приложение работает нормально, однако теперь я хочу начать добавлять дополнительные функции, поэтому я встроил начальный вид (который уже был в контроллере навигации) в контроллер панели вкладок.Это когда он перестает работать.
Я считаю, что это как-то связано с тем, как я установил managedContext в моем файле AppDelegate.Вы увидите, что в моем примере кода ниже я изменил настройку с UINavigationController и .topViewController на UITabBarController и .selectedViewController, но когда код выполняется, он сразу завершается ошибкой и показывает ошибку в файле класса ViewController.swift для начального представления.
// **** Пример кода из ViewController:
do {
let results = try managedContext.fetch(LocationFetch) <—— Thread 1: Fatal error: …
if results.count > 0 {
// Fido found, use Fido
currentLocation = results.first
} else {
// **** Пример кода из файла AppDelegate:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
guard let navController = window?.rootViewController as? UITabBarController,
let viewController = navController.selectedViewController as? ViewController else {
return true
}
viewController.managedContext = coreDataStack.managedContext
return true
}
Я недостаточно разбираюсь в Swift, чтобы решить это самостоятельно, поэтому любые указатели в правильном направлении будут полезны.Я смотрел во многих местах, но у меня нет опыта, чтобы понять это.