distinctUntilChanged

阻止 Observable 发出相同的元素

distinctUntilChanged - 图1

distinctUntilChanged 操作符将阻止 Observable 发出相同的元素。如果后一个元素和前一个元素是相同的,那么这个元素将不会被发出来。如果后一个元素和前一个元素不相同,那么这个元素才会被发出来。


演示

  1. let disposeBag = DisposeBag()
  2. Observable.of("?", "?", "?", "?", "?", "?", "?")
  3. .distinctUntilChanged()
  4. .subscribe(onNext: { print($0) })
  5. .disposed(by: disposeBag)

输出结果:

  1. ?
  2. ?
  3. ?
  4. ?
  5. ?