我如何在Swift 3中创建关联数组0
问题描述:
嗨,我对Swift非常陌生,正在尝试使用数组。我如何在Swift 3中创建关联数组0
我想创建swift3类似数组下面这个PHP数组:
$countries = array(
"UK"=>array(
"gold_medal" => 59,
"prime_minister" => 'XYZ'
),
"Germany"=>array(
"gold_medal" => 17,
"prime_minister" => 'abc'
),
)
在国名以上的数组是动态的变量。
答
这些被称为斯威夫特词典,你可以创建一个这样的:
let countries: [String: Any] = [
"UK": ["gold_medal": 59, "prime_minister": "xyz"],
"Germany": ["gold_medal": 17, "prime_minister": "abc"]
]
编辑:斯威夫特是在推断大来自正在分配的值的可变类型,这就是为什么我们可以写
let count = 5
,编译器会发现count
的类型为Int
。但是,对于上面的字典示例,Xcode(8.2.1)会抛出警告异构集合文字只能推断为'[String:Any]';如果这是故意的,那么添加明确的类型注释,这就是为什么示例包括类型[String: Any]
。
+0
感谢@Rob,更新了片段! –
答
您需要使用字典,词典作为值:
let countries = ["UK": ["gold_medal" : 59,
"prime_minister" : "XYS"],
"Germany": ["gold_medal" : 17,
"prime_minister" : "abc"]]
你的意思是一个'词典'!? – luk2302
我不知道luk,如果这是最好的解决方案,那么为什么不呢。但我不知道如何使用它。 –
你应该开始阅读关于swift https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html – luk2302