我声明并初始化了一个 [[String:[String:String]
字典。一开始它是空的,我试图在父键下添加多个值。
var dictionary = [String:[String:String]
// some checks
dictionary[i] = ["name" : name]
dictionary[i] = ["from" : country]
dictionary[i] = ["age" : age]
当我这样做时,我最终在 [key: [String:String]
下只有 age 键作为 child 。所以当我使用这种方法时它会被覆盖。
什么是合适的做法
最佳答案
您的代码在每一行上创建一个新字典,并将其分配到键 i
的 dictionary
中,因此您最终得到最后一个字典 ["年龄”:年龄]
您需要创建一个内部字典,为其赋值,然后将其赋值给您的外部字典;
var innerDict = [String:String]()
innerDict["name"] = name
innerDict["from"] = from
innerDict["age"] = age
dictionary[i] = innerDict
但是,我建议您考虑创建一个 Struct 并将其放入您的外部字典中,而不是使用字典字典
关于ios - 多维字典添加 'Key:Value'被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37473375/