Swift的Foundation常用API

49 阅读3分钟

以下是 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 开发的基础。