追加到UserDefaults阵列

问题描述:

首先我导入密钥保存在用户的默认现有的阵列 - 阵列1追加到UserDefaults阵列

var savedArray = UserDefaults.standard.array(forKey: "array1") as! [String] 
var ns = UserDefaults.standard 

然后

let savedValue = name 

然后

savedArray.append(savedValue!) 

然后我把它保存在key - array1

UserDefaults.standard.set(savedArray, forKey: "array1") 

和同步

ns.synchronize() 

但是,如果我去到另一个视图 - 控制和做到这一点

let alreadyShownarray = UserDefaults.standard.object(forKey: "array1") as! [String] 
print (alreadyShownarray) 

然后我得到不附加savedValue!

+0

'UserDefaults.standard.set(array2,forKey:“array1”)'您正在保存'array2',但从未提及它。你的意思是'savedArray':'UserDefaults.standard.set(savedArray,forKey:“array1”)' ?只是错误的问题? – Larme

+0

ns从哪里来? –

+0

@RaduDiţăvar ns = UserDefaults.standard – adaminspaceship

同一阵列尝试删除对象和添加新的那一个。

UserDefaults.standard.removeObject(forKey: "array1") 
UserDefaults.standard.set(savedArray, forKey: "array1")