我想在用户输入值时存储和更新字典。一切似乎都正常,直到这段代码,并且应用程序崩溃了:
override func viewDidLoad() {
super.viewDidLoad()
if NSUserDefaults.standardUserDefaults().objectForKey("dict") != nil {
answersSaved = NSUserDefaults.standardUserDefaults().objectForKey("dict") as [String:String]
}
}
错误消息显示“anyObject 无法转换为 [String:String]。它建议在 as 之后添加 !,但随后应用程序崩溃。
dict 是我的字典变量,以字符串作为值。
我还有更新 NSUserDefaults 的代码,但它似乎正在运行。
非常感谢!
猜测你的 Xcode 版本低于 6.3。
Using dictionaryForKey:
代替objectForKey:
.Dictionary
不是 Swift 中的类类型,而是值类型。
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setValue(["key":"value"], forKey: "answersSaved") // fill data
if let answersSaved = userDefaults.dictionaryForKey("answersSaved") as? [String : String] {
// [NSObject : AnyObject] can be converted to [String : String]
if let value = answersSaved["key"] {
println(value) // value
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)