如何使用swift为字典中的一个键添加多个值

San*_*nto 9 swift

我一直在尝试为字典中的一个键添加多个值.

在目标c中,我们可以这样写:

NSDictionary *mapping = @{@"B": @[@"Bear", @"Buffalo"]};
Run Code Online (Sandbox Code Playgroud)

但是在Swift中我们怎么写我正在尝试这样但是它不能访问:

var animalsDic   = ["B": "Bear","Ball",
                "C": "Cat","Camel"
                "D": "Dog",
                "E": "Emu"]
Run Code Online (Sandbox Code Playgroud)

谁能帮我吗?.

Ant*_*nio 14

可以使用方括号在swift中创建数组:

["Bear", "Ball"]
Run Code Online (Sandbox Code Playgroud)

所以初始化字典的正确方法是:

var animalsDic = ["B": ["Bear","Ball"], "C": ["Cat","Camel"], "D": ["Dog"], "E": ["Emu"]]
Run Code Online (Sandbox Code Playgroud)

只是想知道你在做什么,其类型animalsDic是:

[String: [String]]
Run Code Online (Sandbox Code Playgroud)

相当于:

Dictionary<String, Array<String>>
Run Code Online (Sandbox Code Playgroud)


Mic*_*lum 1

您不能仅添加逗号来分隔元素,因为字典也使用逗号来分隔键值对。您应该像在 Objective C 中一样将对象包装在数组中。它应该如下所示。

var animalsDic = ["B": ["Bear","Ball"], "C": ["Cat","Camel"], "D": ["Dog"], "E": ["Emu"]]
Run Code Online (Sandbox Code Playgroud)

使animalsDic具有类型[String : [String]]