如何解决错误“类 appDelegate 没有初始值设定项”?

Ace*_*cer 2 init uikit ios appdelegate swift

我收到错误:

类 AppDelegate 没有初始值设定项

并且似乎无法理解为什么。我正在关注本教程。我是初学者,因此非常感谢任何帮助!

我的代码:

import UIKit

@UIApplicationMain

class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?
    var centerContainer: MMDrawerController

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

        _ = self.window!.rootViewController

        let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

        let centerViewController = mainStoryboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController

        let leftViewController = mainStoryboard.instantiateViewController(withIdentifier: "LeftSideViewController") as! LeftSideViewController

        let leftSideNav = UINavigationController(rootViewController: leftViewController)
        let centerNav = UINavigationController(rootViewController: centerViewController)


        centerContainer = MMDrawerController(center: centerNav, leftDrawerViewController: leftSideNav)


        centerContainer.openDrawerGestureModeMask = MMOpenDrawerGestureMode.panningCenterView;

        centerContainer.closeDrawerGestureModeMask = MMCloseDrawerGestureMode.panningCenterView;

        window!.rootViewController = centerContainer
        window!.makeKeyAndVisible()

        return true
    }
}
Run Code Online (Sandbox Code Playgroud)

Pau*_*tos 7

尝试将您的centerContainer属性更改为这样的可选属性:

var centerContainer: MMDrawerController!
Run Code Online (Sandbox Code Playgroud)

因此,它将用 初始化nil,这应该足以消除您遇到的错误。(顺便说一句,您不应该因此需要更改其余代码。)

来自The Swift Programming Language一书:

类和结构必须在创建该类或结构的实例时将其所有存储的属性设置为适当的初始值。存储的属性不能处于不确定状态。