更改初始屏幕

Changing the initial screen

我更改了不在 Main 故事板上的初始屏幕,我所做的与 google 上写的完全一样:

  1. 从视图控制器属性检查器更改is initial view controller

  2. 删除了 info 文件中的“主情节提要文件基本名称”行和“情节提要名称”行

  3. 在场景委托中添加了以下代码:

        window = UIWindow(frame: windowScene.coordinateSpace.bounds)
        window?.windowScene = windowScene
        window?.makeKeyAndVisible()
        let vc = LoginViewController()  // view controller which must be the new one
        window?.rootViewController = vc

我做了上面所有的事情,但是在 运行 xCode 项目之后我只看到黑屏和一个错误 Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value 这个错误在 LoginViewController 的文本字段中,我试过重新附加 IBOutlet 但它似乎不起作用

任何解决方案?

p.s。我不知道知道它是否有帮助,但是 LoginViewController 完全复制了另一个 xCode 项目的故事板。

问题出在这一行:

LoginViewController() 

这个视图控制器有出口,这意味着它是在故事板中设计的。您在这里要做的不是像您正在做的那样创建一个新的 LoginViewController,而是从故事板中提取所需的 LoginViewController 实例。