缺少参数标签'编码器:'正在调用

问题描述:

尝试在AppDelegate中设置slideMenuController变量时,返回持续编译器错误。缺少参数标签'编码器:'正在调用

window = UIWindow(frame: UIScreen.mainScreen().bounds) 

这是代码。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     window = UIWindow(frame: UIScreen.mainScreen().bounds) 
     let containerViewController = ContainerViewController() 
     window!.rootViewController = containerViewController     
     window!.makeKeyAndVisible() 
    } 

错误消息在标题中说明。

+0

什么是'SlideMenuController(mainViewController:leftMenuViewController:rightMenuViewController:)'的声明? – Larme

+0

@Larme我的错误我复制了错误的代码。我编辑它。 – slytrkmn

+0

你能指定哪一行导致问题吗?因为enow,你的代码中没有'slideMenuController'。 – Larme

你是在说:

let containerViewController = ContainerViewController() 

所以你调用不带参数的初始化,即init()。但这不是你通常实例化视图控制器的方式。一个视图控制器类可能有一个没有参数的初始化程序,但由于您对ContainerViewController所做的更改,它没有该初始化程序。

视图控制器的指定初始值为init(nibName:bundle:)。所以,你可能想说的是这样的:

let containerViewController = ContainerViewController(nibName:nil, bundle:nil) 

或者,如果你想指定笔尖的名字,继续前进,而不是指定的nil它。但至少,如果你把我的建议,你的代码应该编译,然后你可以进一步进行,只要你喜欢。

或者,如果您已经定义了一些其他初始化为ContainerViewController,调用初始化。 (你没有展示如何定义ContainerViewController,所以不可能说;你必须看,看,因为你有代码,我们不这样做。)但是你不能调用没有参数的初始化器,因为它没有存在。