Я прочитал несколько из предложенных постов, которые должны были помочь с этой проблемой, но не смог найти что-то для этой конкретной проблемы.
Мне нужно установить свойство на моем контроллере, в книге говорится, что это нужно сделать в делегате приложения. В предыдущем назначении с использованием навигационной панели это работало:
func application(_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplicationLaunchOptionsKey : Any]?) -> Bool {
// Override point for customization after application launch.
// Create an ItemStore to hold list of items
let itemStore = ItemStore()
// Access the ItemsViewController and set its item store
let itemsController = window!.rootViewController as! ItemsViewController
itemsController.itemStore = itemStore
return true
}
Однако, для создания аналогичной программы мне нужно использовать панель вкладок, но я не могу заставить ее работать и продолжаю сталкиваться с ошибкой, описанной выше, в let editcontroller = tabcontroller. - строка
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
// Create an pindatabase
let pinDataBase = PinDatabase()
// Access the pairsViewController and set its database
let tabController = window!.rootViewController as! UITabBarController
// this edit controller line is where I am stuck
let editController = tabController.tabBar as! EditViewController
editController.pinDataBase = pinDataBase
return true
}
Ошибка:
фатальная ошибка: неожиданно обнаружен ноль при развертывании необязательного значения
Контроллер, на котором я пытаюсь установить свойство, - это не корневой контроллер, а третья вкладка, если это помогает.