ios - 多维字典添加 'Key:Value'被覆盖

标签 ios swift dictionary

我声明并初始化了一个 [[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 。所以当我使用这种方法时它会被覆盖。

什么是合适的做法

最佳答案

您的代码在每一行上创建一个新字典,并将其分配到键 idictionary 中,因此您最终得到最后一个字典 ["年龄”:年龄]

您需要创建一个内部字典,为其赋值,然后将其赋值给您的外部字典;

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/

相关文章:

ios - 保存和加载游戏数据不起作用

swift - 如何从开头和结尾包含 # 且末尾不包含空格的字符串中获取主题标签?

python - 根据字典的值将字典转换为字典列表

ios - map 注释不会显示 rightCalloutAccessoryView 的自定义 UIButton

python - 字典、用于切片和切 block 菜单的嵌套值

python - 根据列表项第一个元素的邻接性合并列表项

ios - 为什么 titleForHeaderInSection 方法被多次调用?

ios - 如何在 swift 2 中以编程方式重新加载整个应用程序设置

image - iPad 工具栏图标 : bar button images not centered?

ios - 重新加载数据后,如何使 UICollectionView 从底部滚动到聊天应用程序?