IOS 中什么是 RxSwift?如何使用?代码举例讲解

RxSwift 的核心概念包括:

  1. Observable:被观察者,用于发送序列事件。
  2. Observer:观察者,用于订阅 Observable 事件。
  3. Subscribe:订阅,观察者通过调用 Observable 的 subscribe() 方法进行订阅。
  4. Event:事件,被观察者发送的消息,主要有 next、error、completed 三种。
  5. Schedulers:调度器,用于控制订阅行为的执行线程。
  6. Subject:主体,同时作为观察者和被观察者,可以将事件广播给多个观察者。

使用 RxSwift 的基本步骤:

  1. 创建 Observable ,常用的操作符有:
    • Observable.just():将一个或多个元素变为 Observable。
    • Observable.of():与 just 相同。
    • Observable.from():将数组、信号等变为 Observable。
    • Observable.interval():基于时间间隔发出元素。
    • Observable.create():自定义 Observable。
  2. 调用 subscribe() 方法创建观察者进行订阅。可拿到 next 事件的元素。
  3. 在 subscribe() 中传入 onNext、onError 和 onCompleted 闭包作为事件处理。
  4. 使用调度器控制订阅执行线程,常用的有 ConcurrentDispatchQueueScheduler、MainScheduler 等。
  5. 取消订阅可停止事件流。

下面是一个简单示例:

swift
let observable = Observable.of(1, 2, 3)

let observer = observable.subscribe { event in
    switch event {
    case .next(let element):
        print(element) 
    case .completed:
        print("Completed")
    case .error(let error):
        print(error)
    }
}

// 输出:1 2 3 Completed
observer.dispose()