无法从 NSUserDefaults 获取字典作为保存格式
Posted
技术标签:
【中文标题】无法从 NSUserDefaults 获取字典作为保存格式【英文标题】:Cannot get the dictionary from NSUserDefaults as saved format 【发布时间】:2015-09-29 15:48:49 【问题描述】:我想从NSUserDefaults
获取一个快速字典作为我之前保存的格式。我已经将字典保存为[String:String]
格式,但是当我使用dictionaryForKey(key)
方法获取字典时,我得到了[String:AnyObject]?
。如何将[String:AnyObject]?
转换为[String:String]
或如何获取正确格式的字典?
保存到NSUserDefaults
var tasks: Dictionary<String,String> = [:]
let defaults = NSUserDefaults.standardUserDefaults()
let key = "key"
defaults.setObject(tasks, forKey: key)
defaults.synchronize()
从NSUserDefaults
获取
let defaults = NSUserDefaults.standardUserDefaults()
let key = "ananZaa"
let incomingArray = defaults.dictionaryForKey(key)
【问题讨论】:
【参考方案1】:如果您已使用默认值注册它,因此它永远不会是 nil
,只需将其向下转换为正确的类型
let defaults = NSUserDefaults.standardUserDefaults()
let key = "ananZaa"
let incomingDictionary = defaults.objectForKey(key) as! Dictionary<String,String>
【讨论】:
以上是关于无法从 NSUserDefaults 获取字典作为保存格式的主要内容,如果未能解决你的问题,请参考以下文章
保存到 NSUserDefaults 的字典总是返回 nil