The recommended method (Apple) is to register the default value (as follows from the User Defaults class ).
applicationWillFinishLaunchingInsert as soon as possible - for example, in -
let defaultValues = ["isFirstLaunch" : true]
UserDefaults.standard.register(defaults: defaultValues)
- init
override init()
{
let defaultValues = ["isFirstLaunch" : true]
UserDefaults.standard.register(defaults: defaultValues)
super.init()
}
func viewDidLoad()
super.viewDidLoad()
let defaults = UserDefaults.standard
if defaults.bool(forKey: "isFirstLaunch") {
defaults.set(false, forKey: "isFirstLaunch")
let mainStoryboard = UIStoryboard(name: "ViewController", bundle: Bundle.main)
let vc : ViewController = mainStoryboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
self.present(vc, animated: true, completion: nil)
}
}
, .