2017-10-22 10 views
2

私のアプリケーションで同じビューコントローラを閉じて再び開くことができるようにしたいと思います。私がこれをやりたいのは、最初にあなたがアプリを開くときに育てるだけの "チュートリアル"シーンがあるからです。たびに、私は、アプリケーションがすぐに2番目のView Controllerを開くようにします。 GameViewControllerためアプリケーションを閉じて開いたときに最後に開いたビューコントローラを開く

:GameViewController2ため

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

:AppDelegateのため

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

:ここに私のコードです

 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 
} 

問題は毎回私がアプリを開くことです、それは常に私の2番目のビューコントローラの代わりに私の最初のビューコントローラで開始します。どんな助けもありがとう。

+0

への変更を保存して、それを同期させる必要がありますどちらの場合もUserDefaults.synchronize

var userDefaults = UserDefaults.standard userDefaults.set(1, forKey:"View") userDefaults.synchronize() 

を呼び出していません。ゲームが常に最初のView Controllerになるようにし、キーがない場合はチュートリアルを表示するためにポップ・オーバーを使用します – Knight0fDragon

答えて

1

上記のコードに基づいて、これは私があなたのプロセスを変更しますディスク

関連する問題