为什么在Swift中运行时会得到错误Use of undeclared type leftViewController

var centerContainer: MMDrawerController?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    _ = self.window!.rootViewController

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

    let centerViewController = mainStoryboard.instantiateViewControllerWithIdentifier("ViewController") as! ViewController

    let leftViewController = self.mainStoryboard?.instantiateViewControllerWithIdentifier("leftViewController") as! leftViewController

    let rightViewController = mainStoryboard.instantiateViewControllerWithIdentifier("rightViewController") as! rightViewController

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

    centerContainer = MMDrawerController(centerViewController: centerNav, leftDrawerViewController: leftSideNav,rightDrawerViewController:rightNav)

    centerContainer!.openDrawerGestureModeMask = MMOpenDrawerGestureMode.PanningCenterView;
    centerContainer!.closeDrawerGestureModeMask = MMCloseDrawerGestureMode.PanningCenterView;

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


    return true
}

最佳答案

必须将leftViewControllerrightViewController强制转换为UIViewController(而不是视图控制器实例的名称):

let leftViewController = self.mainStoryboard?.instantiateViewControllerWithIdentifier("leftViewController") as! UIViewController
let rightViewController = mainStoryboard.instantiateViewControllerWithIdentifier("rightViewController") as! UIViewController

关于iphone - 为什么在Swift中会发生“使用未声明类型的leftViewController”的事件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32995062/

10-12 00:15
查看更多