当我运行应用程序时,此代码在这里引发错误
var dic :[NSObject: AnyObject] = ["name":"steph" , "status": "unemployed"]
NSUserDefaults.standardUserDefaults().setObject(array, forKey: "diction")
var retrievedDict = NSUserDefaults.standardUserDefaults().objectForKey("diction")! as NSDictionary
let g = dic["name"]
println(g)
这怎么了
问题在于字典关键字必须是字符串。因此,必须将其声明为[String:AnyObject],而不是将其声明为[NSObject:AnyObject]。另外,您正在尝试从dic加载它,但必须从retriatedDict加载它。
更新:Xcode 7.2•Swift 2.1.1
let dic:[String: AnyObject] = ["name":"steph" , "status": "unemployed"]
NSUserDefaults().setObject(dic, forKey: "diction")
if let retrievedDict = NSUserDefaults().dictionaryForKey("diction") {
if let g = retrievedDict["name"] as? String {
print(g)
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句