application:didFinishLaunchingWithOptions:
方法实现中,有时会执行我在第二个点中提到的操作,即加载另一个视图控制器并将其设为根视图控制器。这是有效的,因为我在第一个点中提到的自动内容已经在调用application:didFinishLaunchingWithOptions:
方法之前完成。因此,您的代码有时允许自动内容,有时覆盖自动内容。func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
if let rvc = self.window?.rootViewController {
if NSUserDefaults.standardUserDefaults().objectForKey("username") as? String != nil {
self.window!.rootViewController = rvc.storyboard!.instantiateViewControllerWithIdentifier("root")
}
}
return true
}
window = UIWindow(frame: UIScreen.main.bounds)
// Or "Admin"
window!.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()!
window!.makeKeyAndVisible()
application:didFinishLaunchingWithOptions
方法之前初始化。window = UIWindow(frame: UIScreen.main.bounds)
解决了这个问题。 - Zun
viewcontroller
。为什么我们还需要将那个viewcontroller
指定为“根视图控制器”? - casillas