gpt4 book ai didi

arrays - SWIFT - 将 Int append 到 NSUser 默认字典中的数组

转载 作者:行者123 更新时间:2023-11-30 10:09:26 25 4
gpt4 key购买 nike

我有一个 NSUserDefault 字典。其中一个键的值类型为 [Int]。我正在寻找如何将 Ints append 到该嵌入数组的方法。

var dictionary = ["keyOne" : [1,2,3,4,5]]
defaults.setObject(dictionary, forKey: "defaultDictionary")

我当前正在做的是将字典保存到变量中,从新的字典变量创建一个变量数组,然后 append 它。然后我用新数组更新字典并将该字典保存回默认值。

有谁知道直接追加到数组而不需要做所有中间工作的方法吗?

最佳答案

您可以创建计算属性并定义 getter/setter 以将其自动保存为用户默认值。您需要从 [String:[Int]] 转换为 [String:AnyObject] 才能将其保存到 NSUSerDefaults:

var defaultDictionary:[String:[Int]] {
get {
return NSUserDefaults().dictionaryForKey("defaultDictionary") as? [String:[Int]] ?? [:]
}
set {
NSUserDefaults().setObject(newValue as [String:AnyObject], forKey: "defaultDictionary")
}
}


print(defaultDictionary["keyOne"]?.description ?? "") // [1, 2, 3, 4, 5]
print(defaultDictionary["keyTwo"]?.description ?? "") // [1, 2, 3]

defaultDictionary["keyOne"]?.append(6)
defaultDictionary["keyTwo"]?.append(4)

print(defaultDictionary["keyOne"]?.description ?? "") // [1, 2, 3, 4, 5, 6]
print(defaultDictionary["keyTwo"]?.description ?? "") // [1, 2, 3, 4]

关于arrays - SWIFT - 将 Int append 到 NSUser 默认字典中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33834096/

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