跳到主要内容

Swift 字典

在Swift中,字典(Dictionary)是一种用于存储键值对(key-value pairs)的集合类型。字典中的每个值都与一个唯一的键相关联,这使得字典成为快速查找和检索数据的理想选择。字典是无序的,这意味着元素的顺序并不固定。

创建字典

在Swift中,你可以使用以下语法创建一个字典:

swift
var fruits: [String: String] = ["apple": "苹果", "banana": "香蕉", "orange": "橙子"]

在这个例子中,我们创建了一个字典 fruits,其中键是水果的英文名称,值是对应的中文名称。

备注

字典的键和值可以是任何类型,但键必须是唯一的,并且必须符合 Hashable 协议。

访问字典中的值

你可以通过键来访问字典中的值:

swift
if let chineseName = fruits["apple"] {
print("苹果的英文是 \(chineseName)")
} else {
print("未找到对应的水果")
}

输出:

苹果的英文是 苹果

如果字典中不存在指定的键,访问结果将为 nil

修改字典

你可以通过键来更新字典中的值,或者添加新的键值对:

swift
fruits["grape"] = "葡萄"  // 添加新的键值对
fruits["apple"] = "红苹果" // 更新已有的键值对

你也可以使用 updateValue(_:forKey:) 方法来更新值,该方法会返回更新前的值(如果存在):

swift
if let oldValue = fruits.updateValue("青苹果", forKey: "apple") {
print("原来的值是 \(oldValue)")
}

输出:

原来的值是 红苹果

删除键值对

你可以通过将键的值设置为 nil 来删除字典中的键值对:

swift
fruits["banana"] = nil

你也可以使用 removeValue(forKey:) 方法来删除键值对,并返回被删除的值:

swift
if let removedValue = fruits.removeValue(forKey: "orange") {
print("删除了 \(removedValue)")
}

输出:

删除了 橙子

遍历字典

你可以使用 for-in 循环来遍历字典中的所有键值对:

swift
for (englishName, chineseName) in fruits {
print("\(englishName) 的中文是 \(chineseName)")
}

输出:

apple 的中文是 青苹果
grape 的中文是 葡萄

实际应用场景

字典在许多实际场景中非常有用。例如,假设你正在开发一个联系人管理应用,你可以使用字典来存储联系人的姓名和电话号码:

swift
var contacts: [String: String] = [
"Alice": "123-456-7890",
"Bob": "987-654-3210",
"Charlie": "555-555-5555"
]

// 添加新联系人
contacts["David"] = "111-222-3333"

// 查找联系人
if let phoneNumber = contacts["Alice"] {
print("Alice 的电话号码是 \(phoneNumber)")
}

输出:

Alice 的电话号码是 123-456-7890

总结

Swift中的字典是一种强大的集合类型,适用于存储和快速查找键值对。通过本文,你已经学会了如何创建、访问、修改和删除字典中的元素,以及如何在实际应用中使用字典。

提示

为了巩固你的知识,尝试创建一个字典来存储你最喜欢的书籍及其作者,并练习添加、删除和查找操作。

附加资源

通过不断练习和探索,你将更加熟练地使用Swift字典,并在实际开发中发挥其强大的功能。