iOS RXSwift 5.7
filter
仅仅发出 Observable
中通过判定的元素
filter 操作符将通过你提供的判定方法过滤一个 Observable
。
演示
let disposeBag = DisposeBag()
Observable.of(2, 30, 22, 5, 60, 1)
.filter { $0 > 10 }
.subscribe(onNext: { print($0) })
.disposed(by: disposeBag)
输出结果:
30
22
60
error
创建一个只有 error
事件的 Observable
error 操作符将创建一个 Observable
,这个 Observable
只会产生一个 error
事件。
演示
创建一个只有 error
事件的 Observable
:
let error: Error = ...
let id = Observable<Int>.error(error)
它相当于:
let error: Error = ...
let id = Observable<Int>.create { observer in
observer.onError(error)
return Disposables.create()
}
elementAt
只发出 Observable
中的第 n 个元素
elementAt 操作符将拉取 Observable
序列中指定索引数的元素,然后将它作为唯一的元素发出。
演示
let disposeBag = DisposeBag()
Observable.of("🐱", "🐰", "🐶", "🐸", "🐷", "🐵")
.elementAt(3)
.subscribe(onNext: { print($0) })
.disposed(by: disposeBag)
输出结果:
🐸
empty
创建一个空 Observable
empty 操作符将创建一个 Observable
,这个 Observable
只有一个完成事件。
演示
创建一个空 Observable
:
let id = Observable<Int>.empty()
它相当于:
let id = Observable<Int>.create { observer in
observer.onCompleted()
return Disposables.create()
}