2

I got User Defaults with the key "abc" for example and it contains a string.

The last string stored in this key is "aaa".

Now, I want to store an additional value for this key, but I don't want to delete the last value "aaa" because I need it.

I want to have an Array of strings contains at the second retreive: ["aaa","some_other_value", "some_other_value2"...].

This is my code so far to store the information in user defaults:

self.user_defaults.set(self.myTextField.text, forKey:"asd")

This is the code for get the data:

if let arr = user_defaults.string(forKey:"asd"){
    print (arr)
}
Help Pleasee
  • 211
  • 3
  • 15

2 Answers2

6

Try follwing code for save new value :

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")
        }

This is the code for get the data:

if let arr = user_defaults.array(forKey:"asd"){
    print (arr)
}
Sandeep Kumar
  • 328
  • 1
  • 8
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")
Yagnesh Dobariya
  • 2,241
  • 19
  • 29