Это первый раз, когда я работаю с внедрением зависимостей в swift, вот как я это делаю, у меня есть dataManager, который инициализируется в appDelegate, затем передается моему первому контроллеру представления, а затем передается другим контроллерам представления каждый раз, когда они попасть на экран:
if let navigationCtrl = window?.rootViewController as? UINavigationController {
if let firstViewController = navigationCtrl.topViewController as? FirstViewController {
firstViewController.dataManager = dataManager
}
}
Теперь, делая это, все работает отлично, но когда я иду тестировать каждый контроллер представления, я всегда получаю dataManger равным нулю, и я знаю, что это из-за условия, которое я поставил в первую очередь. Поэтому есть способ убедиться, что topViewController всегда имеет переменную dataManager без наследования от другого ViewController. Спасибо