from

将其他类型或者数据结构转换为 Observable

from - 图1

当你在使用 Observable 时,如果能够直接将其他类型转换为 Observable,这将是非常省事的。from 操作符就提供了这种功能。


演示

将一个数组转换为 Observable

  1. let numbers = Observable.from([0, 1, 2])

它相当于:

  1. let numbers = Observable<Int>.create { observer in
  2. observer.onNext(0)
  3. observer.onNext(1)
  4. observer.onNext(2)
  5. observer.onCompleted()
  6. return Disposables.create()
  7. }

将一个可选值转换为 Observable

  1. let optional: Int? = 1
  2. let value = Observable.from(optional: optional)

它相当于:

  1. let optional: Int? = 1
  2. let value = Observable<Int>.create { observer in
  3. if let element = optional {
  4. observer.onNext(element)
  5. }
  6. observer.onCompleted()
  7. return Disposables.create()
  8. }