Swift 标准库 (iOS/macOS):全面概述
Swift 标准库是构建所有 iOS、macOS、watchOS 和 tvOS 开发的基础。它为开发者提供了一组日常工作中所需的基本数据类型、协议、结构和函数。与第三方框架(例如 UIKit 或 SwiftUI)不同,标准库是 Swift 语言本身的一部分,可在任何项目中直接使用,无需额外导入。本文将详细解析该库的关键组件。
基本数据类型
Swift 标准库包含您日常使用的所有原始类型:
- Int, Float, Double — 不同精度的数值类型。
- Bool — 布尔类型 (true/false)。
- String — 文本处理。
- Character — 单个 Unicode 字符。
以下字符串操作示例展示了内置方法的强大功能:
import Foundation
let greeting = "Привет, Swift!"let uppercased = greeting.uppercased()let containsWord = greeting.contains("Swift")
print(uppercased) // "ПРИВЕТ, SWIFT!"print(containsWord) // true
// 多行字符串let multiline = """这是第一行。这是第二行。"""print(multiline)集合:Array, Set, Dictionary
该库提供了三种针对不同任务优化的主要集合类型:
- Array — 有序的元素列表,可通过索引访问。
- Set — 无序的唯一值集合。
- Dictionary — 键值对集合。
所有三种类型的使用示例:
// Arrayvar numbers: [Int] = [1, 2, 3, 4, 5]numbers.append(6)numbers.sort(by: >)
// Setvar uniqueNames: Set<String> = ["Alice", "Bob", "Charlie"]uniqueNames.insert("Alice") // 不会添加,因为已存在
// Dictionaryvar capitals: [String: String] = [ "俄罗斯": "莫斯科", "美国": "华盛顿"]capitals["法国"] = "巴黎"
print(numbers) // [6, 5, 4, 3, 2, 1]print(uniqueNames) // ["Charlie", "Alice", "Bob"]print(capitals) // ["俄罗斯": "莫斯科", "美国": "华盛顿", "法国": "巴黎"]可选类型 (Optionals)
Swift 的一个关键特性是通过 Optional 安全地处理缺失值。这有助于避免其他语言中常见的许多运行时错误。
使用可选类型的主要方式:
- 可选绑定 (
if let,guard let) - 强制解包 (仅在确定有值时使用)
- 空合运算符 (
??) - 可选链
var username: String? = "JohnDoe"
// 可选绑定if let name = username { print("你好,\\(name)!")} else { print("未设置名称")}
// 空合运算符let displayName = username ?? "访客"print(displayName)
// 可选链let count = username?.count ?? 0print("名称长度:\\(count)")协议和扩展
Swift 标准库基于协议构建。您将使用的主要协议包括:
Equatable— 用于对象比较Hashable— 用于 Set 和 DictionaryComparable— 用于排序Codable— 用于序列化/反序列化 (JSON, Property List)Collection— 所有集合的基本协议
协议实现示例