→ 특정 조건을 스킵하고 넘어가는 오퍼레이터이다.
입력한 갯수만큼 이벤트를 skip

example(of: "skip") {
Observable.of("A","B","C","D","E","F")
.skip(3)
.subscribe{
print($0)
}.disposed(by: disposeBag)
}
/*
--- Example of:skip---
next(D)
next(E)
next(F)
completed
*/
조건에 만족하는 것을 skip, 조건이 맞는 원소가 발견되고 그 값이 연속적이면 계속 skip
아래 예제에서 최초의 값이 2로 나누어 떨어지지 않으면, 필터링 하지 않고 모두 emit
나의 언어 → 특정 플레그를 펄스를 만족시키는 emit이 올때까지 이벤트를 버림 펄스가 되면 어떤 이벤트가 오던 emit가능
example(of: "skipWhile") {
Observable.of(2,3,2,2,2,3,4,4,2)
.skip { num in
num % 2 == 0
}.subscribe{
print($0)
}.disposed(by: disposeBag)
}
/*
--- Example of:skipWhile---
next(3)
next(2)
next(2)
next(2)
next(3)
next(4)
next(4)
next(2)
completed
*/
→ 또 다른 subject를 두어서, 이 이벤트가 발생하기 전까지 evnet들을 skip

example(of: "skipUntil") {
let subject = PublishSubject<String>()
let trigger = PublishSubject<String>()
subject.skip(until: trigger)
.subscribe{
print($0)
}.disposed(by: disposeBag)
subject.onNext("A")
subject.onNext("B")
subject.onNext("C")
trigger.onNext("TRIGGER ON")
//=======trigger =======================
subject.onNext("D")
subject.onNext("E")
}
/*
--- Example of:skipUntil---
next(D)
next(E)
*/