gpt4 book ai didi

ios - 只检索存储在UserDefaults中的键和值

转载 作者:行者123 更新时间:2023-12-01 15:48:42 28 4
gpt4 key购买 nike

我用套件创建了UserDefaults,

self.moviesWatchedUserDefaults = UserDefaults(suiteName: "com.apple.tv.2020")
并将信息存储在plist中,例如
self.moviesWatchedUserDefaults.set(data, forKey: key).
现在,在检索的同时,我想检索所有键和值。我正在使用的
var watchedList = self.moviesWatchedUserDefaults?.dictionaryRepresentation()
但是返回的列表不仅包含我存储的项目,还包含其他键,例如 NSLanguagesAppleKeyboardsAppleKeyboardsExpandedCarCapabilities等,
如何检索所有键和值(仅检索存储的键和值)?

最佳答案

如果您有完整的已知键列表,则可以过滤字典。
在下面的示例中,我在枚举中拥有所有已知的键,并且可以过滤字典,仅保留我的键:

enum UserDefaultsKey: String, CaseIterable {
case foo
case bar
case baz
}

let userDefaults = UserDefaults.standard
userDefaults.set(42, forKey: UserDefaultsKey.foo.rawValue)

let onlyMyValues = userDefaults.dictionaryRepresentation().filter { (key, _) -> Bool in
UserDefaultsKey.allCases.map { $0.rawValue }.contains(key)
}

print(onlyMyValues) // prints ["foo": 42]

关于ios - 只检索存储在UserDefaults中的键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63888102/

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