并注释了xxx场景委托中存在的代码没有UIKit部分
你一定不要那样做。它是 你的 代码,需要在正确的地方去。如果您在Xcode 11中创建一个新项目,则此代码将不执行任何操作:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
window = UIWindow()
window?.makeKeyAndVisible()
let controller = MainVC()
window?.rootViewController = controller
return true
}
该代码 运行 ,但是window属性不是您应用程序的窗口,因此您所做的没有意义。现在,该窗口属于 场景委托 。那是您需要创建窗口并设置其根视图控制器的地方。
func scene(_ scene: UIScene,
willConnectTo session: UISceneSession,
options connectionOptions: UIScene.ConnectionOptions) {
if let windowScene = scene as? UIWindowScene {
self.window = UIWindow(windowScene: windowScene)
let vc = MainVC()
self.window!.rootViewController = vc
self.window!.makeKeyAndVisible()
}
}