Post

rx, zip

rx, zip

rx

UIKit 컴포넌트의 이벤트들을 Observable로 변환해주는 기능을 한다.

  • 컴포넌트.rx.이벤트 방식으로 작성한다.
1
2
3
4
5
let button = UIButton()

button.rx.tap
    .subscribe(onNext: { print("버튼 클릭됨") })
    .disposed(by: disposeBag)

zip

여러 Observable의 값을 방출할때까지 기다렸다가 동인한 index에 요소를 튜플로 묶어서 방출

기본 형태

1
2
3
4
5
6
7
8
9
10
11
12
13
14
let numbers = Observable.of(1, 2, 3)
let letters = Observable.of("A", "B")

Observable.zip(numbers, letters)
  .subscribe(onNext: { n, l in
     print(n, l)
  })

// 출력

(1, "A")
(2, "B")
(3, "C")

resultSelector 사용

1
2
3
4
5
6
7
8
9
10
11
let numbers = Observable.of(1, 2, 3)
let letters = Observable.of("A", "B")

Observable.zip(numbers, letters) {n, l in
  return String(n) + l
}
.subscribe(onNext: { result in
  print(result)
})

출력 : 1A, 2B
This post is licensed under CC BY 4.0 by the author.