【发布时间】:2015-07-30 04:27:19
【问题描述】:
我想使用 NSUserDefaults 设置一个数组数组,如下所示:
let array = [["Mexico","USA","Canada"],["Mexico City","Washington","Ottawa"]]
NSUserDefaults.standardUserDefaults().setObject(array, forKey:"Countries")
然后我尝试访问它
var recalledArray = NSUserDefaults.standardUserDefaults().objectForKey("Countries") as! NSArray
println(recalledArray)
但这是控制台打印的内容:
(
"\U00bfMexico",
"\U00bfUSA",
"Canada"
)
我只得到第一个数组,缺少第二个:
["Mexico City","Washington","Ottawa"]
为什么我只取回第一个数组? 如何取回这两个数组?
【问题讨论】:
-
您的代码是正确的。以这种方式打印 println(recallArray[0]) 和 println(recallArray[1])。
-
@DharmeshDhorajiya 如果我打印
recalledArray[0]我得到Mexico,如果我打印recalledArray[1]我得到USA,它仍然无法工作 -
我通过你的代码并运行查看我的输出:((墨西哥,美国,加拿大),(“墨西哥城”,华盛顿,渥太华))
-
我认为您使用旧版本的 swift 尝试删除!像这样的 NSArray
-
@DharmeshDhorajiya 仍然无法正常工作,它给了我一个错误,告诉我我需要强制使用 as! NSArray
标签: ios arrays swift nsarray nsuserdefaults