如您所见,Swift数组是一个集合,您可以使用数字索引(如songs[0]
)访问每个项。字典是另一种常见的集合类型,但它们不同于数组,因为它们允许您根据指定的键访问值。
为了给您一个例子,让我们想象一下如何将一个人的数据存储在一个数组中:
代码语言:javascript复制var person = ["Taylor", "Alison", "Swift", "December", "taylorswift.com"]
要读出那个人的中间名,我们用person[1]
,要读出他们出生的月份,我们用person[3]
。这有几个问题,尤其是很难记住数组中每个值的索引号!如果这个人没有中间名怎么办?可能所有其他值都会向下移动一个位置,从而导致代码混乱。
有了字典,我们可以重新编写它,使之更为合理,因为您可以使用指定的键来读取和写入值,而不是使用任意数字。例如:
代码语言:javascript复制var person = ["first": "Taylor", "middle": "Alison", "last": "Swift", "month": "December", "website": "taylorswift.com"]
person["middle"]
person["month"]
如果我在你的屏幕上使用大量空白来分解字典,可能会有帮助,比如:
代码语言:javascript复制var person = [
"first": "Taylor",
"middle": "Alison",
"last": "Swift",
"month": "December",
"website": "taylorswift.com"
]
person["middle"]
person["month"]
如你所见,当你编一本字典时,你先写它的键,然后是冒号,最后是它的值。然后,只要知道字典的键,就可以从字典中读取任何值,这将更容易使用。
与数组一样,您可以在字典中存储各种各样的值,尽管键通常是字符串。
本文来自Hacking with Swift给swift初学者的入门课程Swift for Complete Beginners 的Dictionaries