作者:零开始1023_511 | 来源:互联网 | 2023-05-24 16:13
这是一个数组:
var myArray = [1]
它包含Int
值.
这就是我保存数组的方法NSUserDefaults
.这段代码似乎工作正常:
NSUserDefaults.standardUserDefaults().setObject(myArray, forKey: "myArray")
这是我加载数组的方式:
myArray = NSUserDefaults.standardUserDefaults().objectForKey("myArray")
但是,上面的代码检索错误.为什么?
1> Dániel Nagy..:
你想要一个s AnyObject?
的数组Int
,beacuse objectForKey
返回AnyObject?
,所以你应该这样将它强制转换
为数组:
myArray = NSUserDefaults.standardUserDefaults().objectForKey("myArray") as [Int]
如果之前没有保存任何值,则可能返回nil,因此您可以使用以下命令检查它:
if let temp = NSUserDefaults.standardUserDefaults().objectForKey("myArray") as? [Int] {
myArray = temp
}