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番目のビューコントローラの代わりに私の最初のビューコントローラで開始します。どんな助けもありがとう。
への変更を保存して、それを同期させる必要がありますどちらの場合もUserDefaults.synchronize
を呼び出していません。ゲームが常に最初のView Controllerになるようにし、キーがない場合はチュートリアルを表示するためにポップ・オーバーを使用します – Knight0fDragon