6. RxSwift 订阅操作过滤1 mapbufferfilter

Posted i2yf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6. RxSwift 订阅操作过滤1 mapbufferfilter相关的知识,希望对你有一定的参考价值。

map

Swiftmap 用法一样,对值进行处理并返回

let sub = PublishSubject<String>()

sub.map { $0 + "mmmmm" }
    .subscribe { event in
        print(event.element)
    }
    .disposed(by: disposeBag)
sub.onNext("a")
//Optional("ammmmm")

buffer

timeSpan 缓存间隔时间、 count 缓存个数 、 scheduler 线程
发送两个event后会触发订阅。满 2 秒也会触发订阅 ,如果event 没有发送空数组

let sub = PublishSubject<String>()
sub.buffer(timeSpan: 2, count: 2, scheduler: MainScheduler.asyncInstance)
    .subscribe { event in
        print("订阅1", event)
    }.disposed(by: disposeBag)

sub.onNext("发送1")
sub.onNext("发送2")

filter

过滤 同Swiftfilter一样

let ob = Observable.of(10, 11, 12, 99, 33, 55, 77)
ob.filter { $0 > 20
}.subscribe(onNext: { element in
    print(element)
}).disposed(by: disposeBag)

搬迁自本人简书


以上是关于6. RxSwift 订阅操作过滤1 mapbufferfilter的主要内容,如果未能解决你的问题,请参考以下文章

RxSwift 系列

领略RxSwift源码- 变换操作(Operators)

RxSwift 共享订阅执行顺序

RxSwift之订阅UITableViewCell里的按钮点击事件

RxSwift 对一个 observable 的多个订阅

RxSwift 订阅序列