2017-04-05 125 views
1

首先我導入密鑰保存在用戶的默認現有的陣列 - 陣列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

回答

1

同一陣列嘗試刪除對象和添加新的那一個。

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