访问值

可以使用其键访问 Dictionary 中的值:

var books: [Int: String] = [1: "Book 1", 2: "Book 2"]
let bookName = books[1]
//bookName = "Book 1"

可以使用 values 属性迭代字典的值:

for book in books.values {
    print("Book Title: \(book)")
}
//output: Book Title: Book 2
//output: Book Title: Book 1

类似地,可以使用其 keys 属性迭代字典的键:

for bookNumbers in books.keys {
    print("Book number: \(bookNumber)")
}
// outputs:
// Book number: 1
// Book number: 2

让所有 keyvalue 对彼此对应(由于它是一个字典,你不会得到正确的顺序)

for (book,bookNumbers)in books{
print("\(book)  \(bookNumbers)")
}
// outputs:
// 2  Book 2
// 1  Book 1

注意,与 Array 不同,Dictionary 本身是无序的 - 也就是说,在迭代期间不能保证顺序。

如果要访问 Dictionary 的多个级别,请使用重复的下标语法。

// Create a multilevel dictionary.
var myDictionary: [String:[Int:String]]! = ["Toys":[1:"Car",2:"Truck"],"Interests":[1:"Science",2:"Math"]]

print(myDictionary["Toys"][2]) // Outputs "Truck"
print(myDictionary["Interests"][1]) // Outputs "Science"