无法设置NSUbiquitousKeyValueStore键

时间:2015-08-13 00:43:34

标签: macos swift nsubiquitouskeyvaluestore

我正在编写一些代码来保存用户偏好。

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()似乎总是错误的。为什么会这样?这是保存此类信息的最佳方式吗?

1 个答案:

答案 0 :(得分:0)

抱歉,我误解了ul li { display: inline-block; } ul li:last-child { display: block; text-align: center; } 的函数boolForKey

NSUbiquitousKeyValueStore不检查该密钥是否存在, 但正在检查该密钥的值,该密钥应该是一个Bool。

所以我重写了这样: 枚举CustomSettingsEnum:NSNumber {         案例关闭         案例开     }

boolForKey