以下是 Foundation 框架中一些最常用和最重要的 API,按功能分类:
1. 数据与集合类型 (Data & Collections)
这些是日常编程中使用频率最高的基础类型。
-
String 和 NSString: 用于处理文本和字符串。Swift 的 String 提供了强大的 Unicode 支持和简洁的语法,并可以无缝桥接到 Objective-C 的 NSString。
- 常用操作:hasPrefix(), hasSuffix(), count, split(separator:), lowercased(), uppercased()。
-
Array, Set, Dictionary: Swift 的标准集合类型,用于存储一组数据。
- 常用操作:count, isEmpty, append(), remove(at:), contains(), map(), filter(), reduce()。
-
Data: 用于处理二进制数据,是与文件、网络数据交互的核心类型。
- 常用操作:init(contentsOf:), write(to:), base64EncodedString()。
-
UUID: 用于创建唯一的标识符。
- 常用操作:UUID(), uuidString。
2. 日期与时间 (Date & Time)
用于处理与时间和日期相关的任务。
-
Date: 代表一个特定的时间点,与时区无关。
- 常用操作:Date(), timeIntervalSinceNow, timeIntervalSince1970。
-
DateFormatter: 用于在 Date 对象和其字符串表示之间进行转换。
- 常用操作:设置 dateFormat, dateStyle, timeStyle,然后使用 string(from:) 和 date(from:)。
-
Calendar: 用于处理日历相关的计算,比如获取某天的年、月、日,或计算两个日期之间的差值。
- 常用操作:current, component(_:from:), date(byAdding:to:)。
-
DateComponents: 用于表示日期的组成部分(如年、月、日、时、分、秒)。
3. 文件与数据持久化 (File System & Persistence)
用于读写文件和存储数据。
-
FileManager: 用于与文件系统进行交互,如创建、删除、移动文件和目录。
- 常用操作:default, urls(for:in:), contentsOfDirectory(at:includingPropertiesForKeys:options:), createFile(atPath:contents:attributes:), removeItem(at:)。
-
URL 和 URLComponents: 用于表示和操作 URL 路径(无论是本地文件路径还是网络地址)。
- 常用操作:init(string:), init(fileURLWithPath:), appendingPathComponent()。
-
JSONEncoder 和 JSONDecoder: 用于将符合 Codable 协议的对象与 JSON 数据之间进行相互转换。这是现代 Swift 应用中最常用的数据序列化方式。
- 常用操作:encode(:), decode(:from:)。
-
PropertyListEncoder 和 PropertyListDecoder: 用于将 Codable 对象与属性列表(.plist)文件格式进行转换。
-
UserDefaults: 提供了一个简单的键值对存储,用于持久化存储用户的少量设置和偏好。
- 常用操作:standard, set(_:forKey:), string(forKey:), integer(forKey:)。
4. 网络 (Networking)
用于从互联网获取或发送数据。
-
URLSession: 是进行网络请求的核心类,支持获取数据、下载和上传任务。
- 常用操作:shared, dataTask(with:completionHandler:), downloadTask(with:completionHandler:), uploadTask(with:from:completionHandler:)。
-
URLRequest: 封装了一个网络请求的所有信息,包括 URL、HTTP 方法(GET, POST 等)、请求头和请求体。
-
URLResponse, HTTPURLResponse: 包含了服务器返回的元数据,如状态码和响应头。
5. 线程与并发 (Threading & Concurrency)
虽然现代 Swift 更推荐使用 async/await,但 Foundation 依然提供了经典的并发 API。
-
Operation 和 OperationQueue: 一个高级的、面向对象的 API,用于封装需要执行的工作单元,并管理它们的执行。
- 常用操作:创建 BlockOperation,将其添加到 OperationQueue.main 或自定义队列中。
-
Thread: 用于创建和管理底层的执行线程。现在较少直接使用。
-
Timer: 用于在指定的时间间隔后执行代码,可以是一次性的也可以是重复的。
-
NotificationCenter: 实现了一种发布-订阅模式,允许应用的不同部分之间进行解耦的通信。
- 常用操作:default, addObserver(...), post(name:object:userInfo:), removeObserver(...)。
6. 其他实用工具
-
ProcessInfo: 提供关于当前进程的信息,如操作系统版本、主机名、环境变量等。
- 常用操作:processInfo.operatingSystemVersionString, processInfo.environment。
-
Bundle: 代表代码和资源在文件系统中的位置,常用于访问应用包内的资源文件。
- 常用操作:main, url(forResource:withExtension:), path(forResource:ofType:)。
-
NSRegularExpression: 用于处理复杂的字符串匹配和搜索的正则表达式。
这个列表涵盖了 Foundation 框架中最核心和常用的部分,掌握它们是进行高效 Swift 开发的基础。