如何在 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]]()
我正在构建一个应用程序,用户可以在其中创建 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]]()