Swift-XCode 7-userDefaults在保存时弄乱了数组

Swift-XCode 7-userDefaults在保存时弄乱了数组,swift,xcode7,nsuserdefaults,swiftyuserdefaults,Swift,Xcode7,Nsuserdefaults,Swiftyuserdefaults,我一直通过在第一个视图控制器上声明的全局变量在我的应用程序上携带值。它的值在应用程序重新打开时更新 当用户在同一个会话上时,数组会适当地追加,但是当我通过userDefaults保存它时,数组上的元素位置就会混乱。你能找出原因吗?我似乎找不到答案 同一会话上的数组:[0,123456,789101,456789] 从userDefaults加载后的数组:[0,123456,789101,456789,222345]它封装了在括号中完成的所有操作 当我试图保存一个整数向量时,也会发生同样的情况。是

我一直通过在第一个视图控制器上声明的全局变量在我的应用程序上携带值。它的值在应用程序重新打开时更新

当用户在同一个会话上时,数组会适当地追加,但是当我通过userDefaults保存它时,数组上的元素位置就会混乱。你能找出原因吗?我似乎找不到答案

同一会话上的数组:[0,123456,789101,456789]

从userDefaults加载后的数组:[0,123456,789101,456789,222345]它封装了在括号中完成的所有操作

当我试图保存一个整数向量时,也会发生同样的情况。是否有任何方法可以将变量保存在userDefaults上以获得以下内容:

保存前的向量:[1、2、3]

保存后的向量:[1,2,3]

很抱歉没有发布完整的代码,我目前正在虚拟机上编码,所以复制很困难。我认为解释这个问题会更好。我就是这样保存和加载它的:

var ACC = ["123456", "987654", "908761"]
NSUserDefaults.standardUserDefaults().setObject(ACC, forKey: "Key")
NSUserDefaults.standardUserDefaults().objectForKey("Key")

对于任何有相同问题的人,我所要做的就是强制对象类型为String,并在索引0处等于它,以便正确地追加

var ACC = ["123456", "987654", "908761"]
NSUserDefaults.standardUserDefaults().setObject(ACC, forKey: "Key")
NSUserDefaults.standardUserDefaults().objectForKey("Key")![0] as? [String]