缺少参数标签'编码器:'正在调用
问题描述:
尝试在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()
}
错误消息在标题中说明。
答
你是在说:
let containerViewController = ContainerViewController()
所以你调用不带参数的初始化,即init()
。但这不是你通常实例化视图控制器的方式。一个视图控制器类可能有一个没有参数的初始化程序,但由于您对ContainerViewController所做的更改,它没有该初始化程序。
视图控制器的指定初始值为init(nibName:bundle:)
。所以,你可能想说的是这样的:
let containerViewController = ContainerViewController(nibName:nil, bundle:nil)
或者,如果你想指定笔尖的名字,继续前进,而不是指定的nil
它。但至少,如果你把我的建议,你的代码应该编译,然后你可以进一步进行,只要你喜欢。
或者,如果您已经定义了一些其他初始化为ContainerViewController,调用那初始化。 (你没有展示如何定义ContainerViewController,所以不可能说;你必须看,看,因为你有代码,我们不这样做。)但是你不能调用没有参数的初始化器,因为它没有存在。
什么是'SlideMenuController(mainViewController:leftMenuViewController:rightMenuViewController:)'的声明? – Larme
@Larme我的错误我复制了错误的代码。我编辑它。 – slytrkmn
你能指定哪一行导致问题吗?因为enow,你的代码中没有'slideMenuController'。 – Larme