【问题标题】:How to save / retrieve nested dictionary in NSUserDefault swift?如何在 NSUserDefault swift 中保存/检索嵌套字典?
【发布时间】: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


【解决方案1】:

试试这个:

NSUserDefault.standardUserDefaults().objectForKey("level1Dictionary") as? [String : [String : String]]?? [String : [String : String]]()

【讨论】:

    猜你喜欢
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    相关资源
    最近更新 更多