iOS 개발을 하면 반드시 마주하게 되는 패턴 중 하나는 Delegate 패턴입니다. Cocoa에서 Delegate는 보통 DataSource(셀 구현, 셀/섹션 개수, 높이 등)를 대신 구현하게 하거나, 비동기 응답(사용자의 셀 선택, Location 업데이트 등)을 받기 위한 메서드를 구현하도록 합니다. 위와 같은 Delegate 패턴을 Rx를 통해 사용할 수 있도록 만들어주는 방법이 바로 DelegateProxy입니다. DelegateProxy의 구현을 MKMapView를 예시로 보겠습니다. (0) Extension으로 HasDelegate를 받습니다. 이미 delegate가 있는 클래스를 대상으로 하기 때문에 Extension에 따로 구현해줄 것은 없습니다. extension MKMapView: ..
RxSwift 정리글에 이어서 RxCocoa를 정리를 조금 해봅니다. RxSwift는 플랫폼에 구애받지 않고 익혀두면 어디에서도 적용할 수 있는 공통적인 Reactive 사양을 구현해 놓았다면, RxCocoa는 iOS 개발에 (아직은) 많은 부분을 차지하고 있는 Cocoa Framework에 좀 더 특화되어 도움을 주는 클래스들이 있습니다. 이는 UIKit들에 반응형 확장(.rx)를 추가해서 다양한 이벤트를 subscribe 할 수 있게 해 줍니다. .rx RxCocoa를 import 하면 UIKit의 요소들(UIButton, UISwitch, UITableView, ...)의 인스턴스에서 .rx 키워드를 통해 해당 UI의 동작을 Reactive 하게 처리할 수 있도록 해줍니다. UISwitch의 예시입..