Swift为现有用户默认值添加值

Hel*_*see 2 nsuserdefaults ios swiftyuserdefaults swift3

我得到了用户默认值,例如键"abc",它包含一个字符串.

存储在此密钥中的最后一个字符串是"aaa".

现在,我想为此密钥存储一个额外的值,但我不想删除最后一个值"aaa",因为我需要它.

我希望在第二个retreive中包含一个包含数组的字符串:["aaa","some_other_value","some_other_value2"...].

到目前为止,这是我的代码,用于存储用户默认值中的信息:

self.user_defaults.set(self.myTextField.text, forKey:"asd")
Run Code Online (Sandbox Code Playgroud)

这是获取数据的代码:

if let arr = user_defaults.string(forKey:"asd"){
    print (arr)
}
Run Code Online (Sandbox Code Playgroud)

小智 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")
        }
Run Code Online (Sandbox Code Playgroud)

这是获取数据的代码:

if let arr = user_defaults.array(forKey:"asd"){
    print (arr)
}
Run Code Online (Sandbox Code Playgroud)