gpt4 book ai didi

arrays - 将数组附加到 UserDefaults 而不删除原始 UserDefault 信息

转载 作者:行者123 更新时间:2023-11-30 10:42:56 27 4
gpt4 key购买 nike

所以我正在创建一个附加对象的数组。我的问题是我想添加对象而不删除原始对象。一旦我附加了对象,我就会看到它们。但是当我添加新对象时,旧对象消失了,并被旧对象取代。如何通过 NSUserDefaults 保留两者?

到目前为止,我已经做了很多研究,但还没有发现任何东西。

case 0:
self.array.append("Instagram")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 1:
self.array.append("Snapchat")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 2:
self.array.append("VSCO")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 3:
self.array.append("Pinterest")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 4:
self.array.append("Tiktok")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 5:
self.array.append("Twitter")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 6:
self.array.append("Facebook")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 7:
self.array.append("Google")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 8:
self.array.append("Flickr")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 9:
self.array.append("iFunny")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 10:
self.array.append("Tumblr")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 11:
self.array.append("Viber")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 12:
self.array.append("Vine")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
case 13:
self.array.append("WhatsApp")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
default:
print("Error")
print(self.array)

没有错误消息

最佳答案

确保使用 UserDefaults 中的当前值加载 self.array。然后您可以更新数组,然后使用更新后的数组更新 UserDefaults。

在一些适当的初始化期间:

self.array = UserDefaults.standard.array(forKey: "addedAccounts") as? [String] ?? []

然后你的开关:

var newVal: String?
switch whatever {
case 0: newVal = "Instagram"
case 1: newVal = "Snapchat"
// and the rest
}
if let newVal = newVal {
self.array.append(newVal)
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
}

顺便说一句 - 用帐户名称数组替换该开关会简单得多。

关于arrays - 将数组附加到 UserDefaults 而不删除原始 UserDefault 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56409364/

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