RxCocoa

RxCocoa는 애플 환경의 애플리케이션을 제작하기 위한 도구들을 모아놓은 Cocoa Framework를 Rx와 합친 기능을 제공하는 라이브러리입니다.

[iOS] [Swift] RxCocoa 맛보기

But, UIKit과 Combine을 함께 사용한다면?


// RxSwift, RxCocoa
private let button = UIButton()

override func viewDidLoad() {
    super.viewDidLoad()
    
    button.rx.tap.bind {
        print("HI")
    }
}

// Combine
private let button = UIButton()

override func viewDidLoad() {
    super.viewDidLoad()
    
    button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
}

@objc func buttonTapped() {
    button.sink {
         print("HI")   
    }
}

extension을 이용한 해결법

[Combine] UIKit에서 Combine 편하게 쓰기