如何在 NSUserDefault swift 中保存/检索嵌套字典?

How to save / retrieve nested dictionary in NSUserDefault swift?

我正在构建一个应用程序,用户可以在其中创建 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]() 但是这个 returns 错误:无法转换 [String : String] 类型的值?到预期的参数类型 [String : [String : String]]?

试试这个:

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