【发布时间】:2016-12-18 16:30:12
【问题描述】:
我正在构建一个应用程序,用户可以在其中创建 UITableviewcell,这将导致用户可编辑的不同 UIViewController。我这样保存用户信息:
level1Dictionary = [String : [String : String]]()
如果用户将 UITableViewCell Dog 命名为他们继续使用 viewController 并且我设置了 level1Dictionary[dog] = [String : String]() 我现在将字典保存在 NSUserdefaults 中,例如 NSUserDefaults.StandardUserDefaults()setObject(level1Dictionary, forKey: "level1Dictionary") 一切正常。
当我重新启动应用程序并按下名为 dog 的 customCreate UITableViewCell 时,我想检索用户存储在 level1Dictionary = [Dog : [String : String]] 中的任何信息。
我在 viewdidload 中检索信息:level1Dictionary = NSUserDefault.standardUserDefaults().objectForKey("level1Dictionary") as? [String : String] ?? [String : String]() 但这会返回错误:无法转换 [String : String] 类型的值?到预期的参数类型 [String : [String : String]]?
【问题讨论】:
-
您使用
level1Dictionary键保存并使用totalDictionary键检索不同,对吧? -
对不起,我犯了一个拼写错误,我已经编辑了这个问题。为什么我不能只保存和检索到同一个 var?
-
试试这个:
NSUserDefault.standardUserDefaults().objectForKey("level1Dictionary") as? [String : [String : String]]?? [String : [String : String]]() -
有效!非常感谢桑托什:D
-
很高兴它为您工作!请标记我的答案。
标签: arrays swift dictionary save nsuserdefaults