Observable이 처음 방출한 n개의 항목만 방출한다.

1, 2, 3, 4 가 방출되었지만 take(2)로 처음 2개의 이벤트만 방출한다. takeLast는 그 반대의 개념이라 생략
Observable.from([1, 2, 3, 4])
.take(2)
.subscribe(onNext: { num in
print(num)
})
.disposed(by: disposeBag)
next 이벤트로 1, 2가 방출되고 complted가 호출된뒤 Dispose 된다.
특정 조건이 false가 되고나면 그 이후의 모든 이벤트를 폐기한다.


파라미터로 Bool을 리턴하는 파라미터를 전달받는다.
Observable.from([1, 2, 3, 4])
.takeWhile { !$0.isMultiple(of: 2) }
.debug()
.subscribe(onNext: { num in
print(num)
})
.disposed(by: disposeBag)
뭔가 1, 3 이 전달될것 같지만 1만 전달되고 시퀀스가 종료된다. TakeWhile은 클로저의 조건을 만족하지 못하면 그 이후의 모든 이벤트를 폐기한다.
