首页 > 解决方案 > 在 NSUserDefaults 中存储可选的布尔值

问题描述

我正在尝试将一个可选存储boolNSUserDefaults所有三个状态都有意义的地方。

目前,如果您bool从 中检索 a NSUserDefaults,如果尚未设置则返回false,这不适用于上述用例。

我不想使用 an enum,因为它对于我想要实现的目标来说似乎有点矫枉过正。

我在这里缺少什么吗?

标签: swiftnsuserdefaults

解决方案


您可以从 UserDefaults 中获取值并尝试将其转换为Bool. 如果键没有值,则为零。

let myBool = UserDefaults.standard.object(forKey: "BoolKey") as? Bool

或者

let myBool = UserDefaults.standard.value(forKey: "BoolKey") as? Bool

myBool = nil在这两种情况下

感谢user28434补充


推荐阅读