我在我创建的应用程序中有一个加载页面。我正在尝试设置一个教程。加载页面将根据教程是否已完成简单地切换 View Controller 。
我想让应用程序在第一次打开时执行一次教程。我创建了两个segue。一个转到教程主屏幕,另一个将在用户每次打开应用程序时转到该屏幕。
我已将以下代码添加到加载页面以确定教程是否完整。我遇到的问题是我的加载页面什么也没做。它在加载时不执行代码。这是代码:
import Foundation
import UIKit
class FrontPageViewController: UIViewController {
var isTutorialComplete = false;
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if (isTutorialComplete == false) {
//Pushes to tutorial home page
self.performSegueWithIdentifier("ToTutorialHome", sender: nil)
}
else
{
//pushes to tech home page
self.performSegueWithIdentifier("ToTechHome", sender: nil)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
最佳答案
将 bool 值存储在 NSUserDefaults 中。
当你第一次加载 NSUserDefaults 值时,当他完成教程并单击 done 时,你必须将其设置为 true 并完成
Do it like this
let settingdefaults = NSUserDefaults.standardUserDefaults()
var isTutorialComplete = settingdefaults.boolForKey("onboarding")
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if (isTutorialComplete){
//pushes to tech home page
self.performSegueWithIdentifier("ToTechHome", sender: nil)
}
else {
//Pushes to tutorial home page
self.performSegueWithIdentifier("ToTutorialHome", sender: nil)
}
}
Once he finish the tutorial do like this
settingdefaults.setBool(true, forKey: "onboarding")
isTutorialComplete = settingdefaults.boolForKey("onboarding")
关于ios - 根据 bool 值切换 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37043153/