将字典快速存储在永久存储中 [英] Storing a dictionary in swift in permanent storage

查看:35
本文介绍了将字典快速存储在永久存储中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我运行应用程序时,这里的代码会引发错误

this code here throws an error when I run the app

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)

这是怎么回事?

推荐答案

问题是 Dictionary 键必须是字符串.因此,与其将其声明为 [NSObject: AnyObject],您必须将其声明为 [String: AnyObject].您还试图从 dic 加载它,但您必须从retrededDict 加载它.

The problem is that the Dictionary key has to be a String. So instead of declaring it [NSObject: AnyObject] you have to declare it as [String: AnyObject]. Also you are trying to load it from dic but you have to load it from retrievedDict.

更新: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)
    }
}

这篇关于将字典快速存储在永久存储中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆