RxSwift操作符
-
Observable
just()
of()
from()
empty()
never()
error()
range()
repeatElement()
generate()
create()
deferred()
interval()
timer()
-
Event
-
subscribe
onNext
onError
onCompleted
doOnNext
doOnError
doOnCompleted
-
bind、bind(to:)bind(to:)
-
Dispose、Disposables、DisposeBag
dispose()
disposed(by:)
-
Observer
AnyObserver
Binder
-
Subjects
PublishSubject
BehaviorSubject
ReplaySubject
BehaviorRelay
-
变换操作符
buffer
window
map
flatMap
flatMapLatest
flatMapFirst
concatMap
scan
groupBy
-
过滤操作符
filter
distinctUntilChanged
single
elementAt
ignoreElements
take
takeLast
skip
Sample
debounce
-
条件和布尔操作符
amb
takeWhile
takeUntil
skipWhile
skipUntil
-
结合操作符
startWith
merge
zip
combineLatest
withLatestFrom
switchLatest
-
算数&聚合操作符
toArray
reduce
concat
-
连接操作符,调用connect()才开始发送事件
publish
replay
multicast
refCount
share(relay:)
-
其他操作符
delay
delaySubscription
materialize
dematerialize
timeout
using
-
错误处理操作符
catchErrorJustReturn
catchError
retry
-
调试操作符
debug
RxSwift.Resources.total
-
特征序列
Single
Completable
Maybe
Driver
ControlProperty
ControlEvent
-
调度器
CurrentThreadScheduler:表示当前线程 Scheduler。(默认使用这个)
MainScheduler:表示主线程。如果我们需要执行一些和 UI 相关的任务,就需要切换到该 Scheduler 运行
SerialDispatchQueueScheduler:封装了 GCD 的串行队列。如果我们需要执行一些串行任务,可以切换到这个 Scheduler 运行
ConcurrentDispatchQueueScheduler:封装了 GCD 的并行队列。如果我们需要执行一些并发任务,可以切换到这个 Scheduler 运行
OperationQueueScheduler:封装了 NSOperationQueue
subscribeOn
observeOn
- .orEmpty 可以将 String? 类型的 ControlProperty 转成 String
- throttle 是 RxSwift 的一个特性。因为有时当一些东西改变时,通常会做大量的逻辑操作。而使用 Throttling 特性,不会产生大量的逻辑操作,而是以一个小的合理的幅度去执行。比如做一些实时搜索功能时,这个特性很有用
debounce和throttle有类似的作用
参考文章:本文章参考航歌的RxSwift系列文章