删除应用时更改UserDefaults bool值

时间:2016-11-29 15:38:43

标签: swift

我有一个UserDefaults bool值告诉我何时必须在第一次安装app时展示我的演练。当我安装它时,我的bool值为key" firstAccessToApp"从true更改为false,但是如果我从我的设备中删除应用程序并重新安装它,我的演练不会出现,因为bool值仍然是false。当我从设备中删除我的应用程序时如何更改值这是我的代码:

if !defaults.bool(forKey: "firstAccessToApp") {
        present(Walkthrough(), animated: true, completion: nil)
        UserDefaults.standard.set(true, forKey: "firstAccessToApp")
        UserDefaults.standard.synchronize()
    }

1 个答案:

答案 0 :(得分:1)

安装应用时,密钥不存在于UserDefaults中,如果您尝试访问该密钥,它将返回默认值false。要在首次安装并打开应用时将其设置为true,您可以将此代码添加到func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool方法中:

let defaults = UserDefaults.standard

if (!defaults.dictionaryRepresentation().keys.contains("firstAccessToApp")) {
    defaults.set(true, forKey: "firstAccessToApp")
    defaults.synchronize()
}