Я собирался добавить учебник по To Do, и все шло хорошо, пока я не столкнулся с трудностями, потому что учебник хотел, чтобы я захватил viewcontroller через AppDelegate.
Чтобы объяснить это лучше, я запустил личный проект для развлечения, где я хотел добавить несколько разных инструментов в одно приложение.
Итак, я заявил, создав TabBarController в качестве моего первого viewcontroller.Итак, я могу отделить каждый инструмент от другого ViewController и получить к нему доступ через TabBar.
В то время как у руководства по ToDo был только один NavigationBarController в качестве основного rootViewController, я потерял его, потому что не могу получить нужный ViewController, как это было в учебнике.
Ниже я предоставляю код делегата, который был у Учебника, с StoryBoard, который я использую.Итак, вы можете увидеть, что я пытаюсь получить доступ.
https://imgur.com/mefbux2 https://imgur.com/ygXru2r
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
//initialize TaskStore
let taskStore = TaskStore()
let todoTasks = [Task(name: "Meditate"), Task(name: "Banana")]
let doneTasks = [Task(name: "Netflix")]
taskStore.tasks = [todoTasks, doneTasks]
//Grab the Tasks Controller
let tasks = window?.rootViewController?.children.first as? Tasks
//Set the taskstore accordingly
tasks?.taskStore = taskStore
return true
}
Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value