我正在将我的项目从swift 2.2迁移到3.0,当我遇到这个奇怪的错误,这不允许我在app delegate didfinishlaunching中设置rootviewcontroller。 self.window?.rootViewController = self.container.resolve(DPSlideMenuController.self)!
答案 0 :(得分:0)
我猜您正在使用此库SlideMenuControllerSwift。如果你在DidFinishLaunching
函数中显示整个代码会很棒。
无论如何,尝试执行以下操作:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// create viewController code...
let slideMenuController = SlideMenuController(mainViewController: mainViewController, leftMenuViewController: leftViewController, rightMenuViewController: rightViewController)
self.window?.rootViewController = slideMenuController
self.window?.makeKeyAndVisible()
return true
}
答案 1 :(得分:0)
最后修好了。问题是在其中一个协议扩展中有一个名为rootViewController的var。
var rootViewController: UIViewController {
return (UIApplication.shared.keyWindow?.rootViewController)!
}
使用Swift 2.2工作得很好,但是在swift 3上让编译器感到困惑。更改了名称和编译的代码。