关闭并打开应用程序

时间:2017-10-22 23:47:32

标签: ios swift sprite-kit

我希望能够在我的应用上关闭并重新打开相同的视图控制器。我想这样做的原因是因为我有一个"教程"我第一次打开应用程序时只想提起的场景。每隔一次我希望应用程序立即打开第二个视图控制器。这是我的代码:

for GameViewController:

   UserDefaults.standard.set(0, forKey: "View")

for GameViewController2:

   UserDefaults.standard.set(1, forKey: "View")

for AppDelegate:

     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions:
    [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    let viewCount = UserDefaults.standard.integer(forKey: "View")
    var VC = UIViewController()
    let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    print(viewCount)
    if viewCount == 0 {
        //FirstView should initiate
        VC = storyboard.instantiateViewController(withIdentifier: "First") as! GameViewController
    } else {
        //SecondView should inititate
        VC = storyboard.instantiateViewController(withIdentifier: "Second") as! GameViewController2
    }

    self.window?.makeKeyAndVisible()
    self.window?.rootViewController = VC


    return true
}

问题是我每次打开应用程序时,它总是从我的第一个视图控制器而不是第二个视图控制器开始。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

根据上面的代码,您没有调用UserDefaults.synchronize

.htaccess

在这两种情况下都必须进行同步,因为这会将更改保存到磁盘

更新:正如@ cs4alhaider所说,Swift 4中不需要synchronize(),因此不再出现此问题。