Я пытаюсь использовать шаблон MVC, где мой NavigationController создает и контролирует все мои представления и переключает соответствующие представления.Чтобы добиться этого, я просто создаю свой экземпляр navigationController и устанавливаю его как rootViewController в делегате приложения.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
self.window = UIWindow(frame: UIScreen.main.bounds)
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let navigationController: NavigationController = (mainStoryboard.instantiateViewController(withIdentifier: "navigationController") as! NavigationController)
self.window?.rootViewController = navigationController
self.window?.makeKeyAndVisible()
return true
}
В функции viewDidLoad()
моего класса NavigationController я просто создаю свой первый "реальный" вид с помощью myTableViewController.и нажмите его вперед.
override func viewDidLoad() {
super.viewDidLoad()
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
self.myTableViewController = mainStoryboard.instantiateViewController(withIdentifier: "myTableViewController") as? MyTableViewController
self.pushViewController(myTableViewController!, animated: true)
}
Хотя все работает нормально, я получаю предупреждение консоли:
Не удалось создать экземпляр контроллера представления по умолчанию для UIMainStoryboardFile 'Main' - возможно,назначенная точка входа не установлена?
Я думаю, что это предупреждение возникает, потому что navigationController не является "настоящим" ViewController ... Но как я могу исправить это без создания экземпляра MyTableView () в делегате приложения?