本文介绍了如何使用NSUserDefaults在Swift中保存一个Int数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是一个数组:
var myArray = [1]
它包含Int
个值.
这是我将数组保存在NSUserDefaults
中的方式.这段代码似乎运行良好:
This is how I save an array in NSUserDefaults
. This code seems to be working fine:
NSUserDefaults.standardUserDefaults().setObject(myArray, forKey: "myArray")
这是我加载数组的方式:
This is how I load an array:
myArray = NSUserDefaults.standardUserDefaults().objectForKey("myArray")
但是,上面的代码检索到一个错误.为什么?
The code above, though, retrieves an error. Why?
推荐答案
您要为Int
s数组分配AnyObject?
objectForKey
返回AnyObject?
,因此您应将其转换为数组:
You want to assign an AnyObject?
to an array of Int
s, beacuseobjectForKey
returns AnyObject?
, so you should cast it to array this way:
myArray = NSUserDefaults.standardUserDefaults().objectForKey("myArray") as [Int]
如果以前没有保存任何值,则可能返回nil,因此可以使用以下命令进行检查:
If there are no values saved before, it could return nil, so you could check for it with:
if let temp = NSUserDefaults.standardUserDefaults().objectForKey("myArray") as? [Int] {
myArray = temp
}
这篇关于如何使用NSUserDefaults在Swift中保存一个Int数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!