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. }