我获得了用户默认值,例如键“abc”,它包含一个字符串。
此密钥中存储的最后一个字符串是“aaa”。
现在,我想为此密钥存储一个额外的值,但我不想删除最后一个值“aaa”,因为我需要它。
我希望在第二个retreive中包含一个字符串数组:[“aaa”,“some_other_value”,“some_other_value2”...]。
到目前为止,这是我的代码,用于存储用户默认值中的信息:
self.user_defaults.set(self.myTextField.text, forKey:"asd")
这是获取数据的代码:
if let arr = user_defaults.string(forKey:"asd"){
print (arr)
}
答案 0 :(得分:5)
尝试使用以下代码保存新值:
if let arr = user_defaults.array(forKey: "asd")
{
var arrvalues = arr as! [String]
arrvalues.append(self.myTextField.text)
self.user_defaults.set(arrvalues, forKey:"asd")
self.user_defaults.synchronize()
print (arr)
}
else
{
self.user_defaults.set([self.myTextField.text], forKey:"asd")
}
这是获取数据的代码:
if let arr = user_defaults.array(forKey:"asd"){
print (arr)
}
答案 1 :(得分:0)
let asdArr = [String]()
if NSUserDefaults.standardUserDefaults().objectForKey("asd") != nil {
asdArr = NSUserDefaults.standardUserDefaults().objectForKey("asd")
}
asdArr.append(self.myTextField.text)
NSUserDefaults.standardUserDefaults().setObject(asdArr, forKey: "asd")