我正在编写一些代码来保存用户偏好。
enum CustomSettingsEnum: NSNumber {
case Off
case On
}
let someKey = "SOME_KEY"
func getSettings() -> CustomSettingsEnum {
var cseBool = Bool?
var cse: CustomSettingsEnum!
let settingsExists = NSUbiquitousKeyValueStore.defaultStore().boolForKey(self.someKey)
if settingsExist {
// Get the NSNumber and convert that to Bool
} else {
cse = CustomSettingsEnum.On
}
return cse
}
func setSettings(cse: CustomSettingsEnum) {
NSUbiquitousKeyValueStore.defaultStore().setObject(cse, forKey: self.someKey)
}
我在致电setSettings()
之前打电话给getSettings()
,
但是在调用getSettings()
时,settingsExist
中的getSettings()
似乎总是错误的。为什么会这样?这是保存此类信息的最佳方式吗?
答案 0 :(得分:0)
抱歉,我误解了ul li {
display: inline-block;
}
ul li:last-child {
display: block;
text-align: center;
}
的函数boolForKey
。
NSUbiquitousKeyValueStore
不检查该密钥是否存在,
但正在检查该密钥的值,该密钥应该是一个Bool。
所以我重写了这样: 枚举CustomSettingsEnum:NSNumber { 案例关闭 案例开 }
boolForKey