gpt4 book ai didi

macos - 无法设置 NSUbiquitousKeyValueStore 键

转载 作者:行者123 更新时间:2023-11-30 14:08:58 24 4
gpt4 key购买 nike

我正在编写一些代码来保存用户首选项。

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)
}

我在调用 getSettings() 之前先调用 setSettings(),但是当调用getSettings()时,getSettings()中的settingsExist似乎总是 false。为什么会这样呢?这是保存此类信息的最佳方式吗?

最佳答案

抱歉,我误解了 NSUbiquitousKeyValueStoreboolForKey 函数。

boolForKey 不检查该 key 是否存在,但正在检查该键的值,该值应该是 Bool。

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

let someKey = "SOME_KEY"    

func getSettings() -> CustomSettingsEnum {
var cseBool = Bool?
var cse: CustomSettingsEnum!
let settingsExists = NSUbiquitousKeyValueStore.defaultStore().objectForKey(self.someKey)
if settingsExist != nil {
// Get the NSNumber and convert that to Bool
} else {
cse = CustomSettingsEnum.On
}
return cse
}

关于macos - 无法设置 NSUbiquitousKeyValueStore 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31977737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com