Swift 当我关闭Onboard并再次运行应用程序时,AppDelegate出现问题

Swift 当我关闭Onboard并再次运行应用程序时,AppDelegate出现问题,swift,appdelegate,uipagecontrol,Swift,Appdelegate,Uipagecontrol,我使用UIPageViewController进行登录,但当我第二次运行应用程序时,Xib不工作 func应用程序(application:UIApplication,didFinishLaunchingWithOptions launchOptions:[UIApplication.launchOptions键:任意])->Bool{ //////入职 let lunchbefor=UserDefaults.standard.bool(forKey:“haslunted”) self.wind

我使用UIPageViewController进行登录,但当我第二次运行应用程序时,Xib不工作

func应用程序(application:UIApplication,didFinishLaunchingWithOptions launchOptions:[UIApplication.launchOptions键:任意])->Bool{
//////入职
let lunchbefor=UserDefaults.standard.bool(forKey:“haslunted”)
self.window=UIWindow(框架:UIScreen.main.bounds)
let午餐故事板=UIStoryboard(名称:“Onboard”,捆绑:nil)
让mainstoryboard=UIStoryboard(名称:“Main”,bundle:nil)
var-vc:UIViewController
如果午餐之前{
window?.rootViewController=MainVC()
vc=MainstryBoard.InstanceInitialViewController()!
}否则{
vc=故事板。实例化eviewController(标识符为“开始”)
}
UserDefaults.standard.set(true,forKey:“haslunted”)
如果leftbefor==false{
self.window?.rootViewController=vc
self.window?.makeKeyAndVisible()
}否则{
窗口?.makeKeyAndVisible()
window?.rootViewController=MainVC()
}
返回真值
}
错误:


线程1:致命错误:在展开可选值时意外发现nil“

在这一行:

vc=mainstoryboard.instanceInitialViewController()!
我找到了答案 我这样做:

  var vc: UIViewController

    if lunchbefor{
        window?.rootViewController = MainVC()
       // vc = mainstoryboard.instantiateInitialViewController()!
        vc =  MainVC()

    }else{
        vc = lunchstoryboard.instantiateViewController(withIdentifier: "start")
    }

如果要使用
实例化初始视图控制器
,则需要在情节提要(屏幕上的红色箭头)中选择
是初始视图控制器
,并且您将看到视图控制器是初始控制器的指示器(绿色箭头)


另外,最好不要使用强制展开(
),因为当变量为
nil

时,它会使应用程序崩溃。不工作是什么意思?崩溃发生在@sazzad hissain khancould您能提供一条出现的错误消息吗?“线程1:致命错误:在展开可选值时意外发现nil。”“在这一行上:vc=mainstoryboard.instanceInitialViewController()!这回答了你的问题吗?