如何在Swift 3中创建关联数组

时间:2017-01-02 18:55:40

标签: php arrays swift3

嗨,我对Swift很新,我正在尝试使用数组。

我想在swift3中创建一个类似于这个PHP数组的数组,如下所示:

$countries = array(
                   "UK"=>array(
                          "gold_medal" => 59,
                          "prime_minister" => 'XYZ'
                              ),
                    "Germany"=>array(
                          "gold_medal" => 17,
                          "prime_minister" => 'abc'
                              ),
                  )

在上面的数组中,国家/地区名称是动态变量。

2 个答案:

答案 0 :(得分:4)

您需要将字典与字典一起用作值:

let countries = ["UK": ["gold_medal" : 59,
                        "prime_minister" : "XYS"],
                 "Germany": ["gold_medal" : 17,
                        "prime_minister" : "abc"]]

答案 1 :(得分:4)

这些在Swift中被称为字典,你可以创建一个这样的字典:

let countries: [String: Any] = [
        "UK": ["gold_medal": 59, "prime_minister": "xyz"],
        "Germany": ["gold_medal": 17, "prime_minister": "abc"]
    ]

编辑:Swift很擅长从正在分配的值推断变量类型,这就是我们可以编写的原因

let count = 5

并且编译器会发现count的类型为Int。但是,使用上面的字典示例,Xcode(8.2.1)会抛出警告异构集合文字只能推断为'[String:Any]';如果这是故意的,则添加显式类型注释,这就是示例包含类型[String: Any]的原因。

有关The Swift Programming Language

中词典的更多信息