【问题标题】:is there collection type similar to dictionary, but allow the duplicated key in swift?是否有类似于字典的集合类型,但允许快速复制键?
【发布时间】:2018-05-10 21:57:24
【问题描述】:

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

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

我需要发送一个带有有效负载的 POST 请求来发出搜索请求。 它存在于 Swift 中吗?

【问题讨论】:

  • 一个DictionaryLiteral可以有重复的键,但必须是字面量;您不能动态设置值。如果您无法更改 api 以更合理地工作,那么您将需要编写代码来手工制作 Payload。

标签: swift


【解决方案1】:

没有办法在Dictionary 中复制密钥,在Swift 和Objective-C 中也没有。要针对同一个键保存多个值,您应该使用 Array 这样的东西。

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

【讨论】:

  • 即使是我猜的任何语言。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    你可以通过DictionaryLiteral 来做:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 2019-02-13
      • 1970-01-01
      • 1970-01-01
      • 2015-05-20
      相关资源
      最近更新 更多