-2

我一直通过在第一个 View Controller 上声明的全局变量在我的应用程序上传递值。每当重新打开应用程序时,它的值就会更新。

当用户在同一个会话中时,数组会正确附加,但是当我通过 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")
4

1 回答 1

-2

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

var ACC = ["123456", "987654", "908761"]
NSUserDefaults.standardUserDefaults().setObject(ACC, forKey: "Key")
NSUserDefaults.standardUserDefaults().objectForKey("Key")![0] as? [String]
于 2018-07-28T01:32:41.400 回答