我通常以编程方式构建UI,但是由于某种原因,在更新到Xcode 11之后,无法删除情节提要或引用。它总是抛出错误,指出情节提要缺少。通常我会删除main并转到项目设置,并同时删除Main关键字文本。然后,我删除viewController,添加一个类似于HomeViewController的新viewController,并在应用程序委托中使用以下代码。
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
window = UIWindow()
window?.makeKeyAndVisible()
let nc = UINavigationController(rootViewController: HomeViewController())
window?.rootViewController = nc
return true
}
我遵循与以前的Xcode版本相同的步骤,并且可以正常工作(无需删除情节提要文件本身)。只要我添加了上面的代码。现在似乎并非如此。如果我删除默认的ViewController文件并说添加一个新的HomeViewController文件并添加上面的代码,则会引发错误,指出情节提要缺少或情节提要不包含HomeViewController。
您没有说,但我假设您要创建一个具有iOS 13目标的新项目?如果没有,您可以忽略此:-)
在新的iOS 13+项目的XCode 11中,他们更改了从代码启动UI的方式。它不再在AppDelegate中发生,而是在SceneDelegate中发生。
[我花了太长的时间来弄清楚正在发生的事情之后,我在博客中写了它,以为它可能对其他人有帮助。与其重新哈希全部,不如链接到它: