Arrays 将数组附加到UserDefaults,而不删除原始UserDefault信息
所以我在制作一个附加对象的数组。我的问题是,我想添加对象而不删除原始对象。一旦我附加了对象,我就会看到它们。但当我添加新对象时,旧对象将消失,并被旧对象替换。如何通过默认设置保持这两种状态 到目前为止,我做了很多研究,但没有发现任何东西Arrays 将数组附加到UserDefaults,而不删除原始UserDefault信息,arrays,swift,save,userdefaults,Arrays,Swift,Save,Userdefaults,所以我在制作一个附加对象的数组。我的问题是,我想添加对象而不删除原始对象。一旦我附加了对象,我就会看到它们。但当我添加新对象时,旧对象将消失,并被旧对象替换。如何通过默认设置保持这两种状态 到目前为止,我做了很多研究,但没有发现任何东西 case 0: self.array.append("Instagram") UserDefaults.standard.set(self.array, forKey: "addedAccounts")
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")
}
顺便说一句-用帐户名数组替换开关将简单得多。一个打印什么(UserDefaults.standard.value(forKey:“addedAccounts”)
给出什么?