是否有类似于dictionary的集合类型,但允许在swift中使用重复的键?

是否有类似于dictionary的集合类型,但允许在swift中使用重复的键?,swift,Swift,我在Swift中寻找一种集合类型,类似于dictionary,可以添加重复的键。比如: var a = ["email": "a@xx.xxx", "email": "b@xx.xxx", "email": "c@xx.xxx"] 我需要发送一个带有有效负载的POST请求来进行搜索请求。 它是否存在于Swift中?在字典中无法复制键,在Swift中也无法复制键,在Objective-C中也无法复制键。要针对同一个键保存多个值,您应该使用类似以下内容的Array { "email": [

我在Swift中寻找一种集合类型,类似于dictionary,可以添加重复的键。比如:

var a = ["email": "a@xx.xxx", "email": "b@xx.xxx", "email": "c@xx.xxx"]
我需要发送一个带有有效负载的POST请求来进行搜索请求。
它是否存在于Swift中?

字典中无法复制键,在
Swift中也无法复制键,在
Objective-C中也无法复制键。要针对同一个键保存多个值,您应该使用类似以下内容的
Array

{
   "email": [
     "xx1@gmail.com",
     "xx2@gmail.com",
     "xx3@gmail.com"
   ]
}

您应该像这样使用元组数组:

var email = [(String, String)]()
email.append(("email", "a@xx.xxx"))
email.append(("email", "b@xx.xxx"))
email.append(("email", "c@xx.xxx"))
print(email[2].1)
c@xx.xxx


您可以通过
DictionaryTerral
执行此操作,如下所示:

let a: DictionaryLiteral = ["email": "a@xx.xxx",
                            "email": "b@xx.xxx",
                            "email": "c@xx.xxx"]

A可以有重复的键,但必须是文本;不能动态设置这些值。如果您不能更改api以更合理地工作,那么您将需要编写代码来手工制作有效负载,即使是使用任何语言。