设置为rootViewController

设置为rootViewController

我尝试使用MVC模式,在这里我的NavigationController实例化并控制我的所有视图和相应的视图开关。为了实现这一点,我只需实例化我的导航控制器,并在app委托中将其设置为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
}

在NavigationController类的viewDidLoad()函数中,我只是用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'-可能指定的入口点是
没有设定?
我认为出现此警告,因为导航控制器不是“真正的”ViewController。。。但是,如果不在App delegate中实例化MyTableView(),我如何修复它呢?

最佳答案

swift - 将NavigationBarController设置为rootViewController-LMLPHP
请检查您的脚本集作为初始视图控制器。

关于swift - 将NavigationBarController设置为rootViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52298143/

10-11 02:21