我为按钮添加@IBAction:
@IBAction func addThemeAction(sender: AnyObject) {
var userDefaults:NSUserDefaults=NSUserDefaults.standardUserDefaults()
var itemList:NSMutableArray!=userDefaults.objectForKey("itemList") as NSMutableArray}
当我按下按钮时,我会收到致命错误:在展开“可选”值时意外发现nil。
答案 0 :(得分:0)
一:你永远不能保证你的用户默认值中存在某个键,所以这是一个等待发生的崩溃。二:我不认为你从用户默认值中读取的字典是可变的。
答案 1 :(得分:0)
itemList
中的密钥NSUserDefaults
没有对象。而不是用!
强行打开它,检查可选项是nil
并有条件地解包它:
let userDefaults = NSUserDefaults.standardUserDefaults()
var itemList = userDefaults.objectForKey("itemList") as? [AnyObject]
if let itemList = itemList {
// itemList is not nil, use it here
} else {
// itemList has never been set, perhaps use some default
}
此外,userDefaults
不一定是var
。
如果您知道类型(例如[AnyObject]
),则可以将[String]
更改为其他内容。