尝试在slideMenuController
中设置AppDelegate
变量时,会返回持久编译器错误。
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 :(得分:1)
你在说:
let containerViewController = ContainerViewController()
所以你在没有参数的情况下调用初始化程序,即init()
。但这不是您通常实例化视图控制器的方式。视图控制器类可能有一个没有参数的初始化程序,但由于你对ContainerViewController所做的更改,它没有该初始化程序。
视图控制器的指定初始值设定项为init(nibName:bundle:)
。所以你可能想说这样的话:
let containerViewController = ContainerViewController(nibName:nil, bundle:nil)
或者,如果要指定nib名称,请继续并指定它而不是nil
。但至少,如果你提出我的建议,你的代码应该编译,然后你可以继续进行。
或者,如果您已为ContainerViewController定义了一些其他初始化程序,请调用 初始化程序。 (你还没有展示如何定义ContainerViewController,所以不可能说;你必须要看,因为你有代码而我们没有。)但是你不能在没有参数的情况下调用初始化程序,因为它没有存在。