UserDefaults值似乎每隔几次运行重置一次

时间:2017-04-27 16:11:31

标签: ios swift nsuserdefaults

我有一些弹出式提醒,只有当用户第一次在应用中时,我才会想出来。举个例子,我有这个警告:

func showTip() {
    let userDefaults = UserDefaults.standard

    if userDefaults.bool(forKey: "firstRun") {
        let alertController = UIAlertController(title: "Welcome", message: "Welcome! Go ahead and create a chat room", preferredStyle: UIAlertControllerStyle.alert)

        let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: {(alert :UIAlertAction!) in
        })
        alertController.addAction(okAction)

        present(alertController, animated: true, completion: nil)
        userDefaults.set(false, forKey: "firstRun")
    }
}

正如我所说的那样,应该只在应用程序的第一次运行时出现。我在didFinishLaunchingWithOptions中的AppDelegate中设置了用户默认值:

    let userDefaults = UserDefaults.standard
    let defaultValues = ["firstRun" : true]
    userDefaults.register(defaults: defaultValues)

然而,弹出窗口经常出现。我没有注意到任何类型的模式,并且每次运行都没有出现,但每次运行应用程序都会出现警报。

我有什么方法可以在第一次提醒警报后这样做,它完全被该用户禁用了吗?

0 个答案:

没有答案