我有一个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()
}
答案 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()
}