RxSwift에서 swizzling을 통해 특정 메서드의 호출전, 후에 대한 이벤트를 쉽게 구독할 수 있습니다.
RxSwift의 NSObject+Rx.swift에 두 메서드가 정의되어있습니다.
sentMessages는 메서드가 호출 되기 전, methodInvoked는 호출된 후에 실행됩니다.
swift로 작성된 클래스/메서드에 적용하기 위해서는 @objc, dynamic 2가지 키워드와 NSObject의 상속이 적용되어 있어야 합니다.
Cocoa class와 함께 사용하면 유용하게 사용할 수 있습니다.
대부분을 기본 RxCocoa에서 지원 해주지만, 지원해주지 않는 메서드를 쉽게 변환할 수 있습니다.
위 코드와 같이 reloadData를 관찰할 수있습니다.
extension을 이용하여 기능을 추가할 수 있습니다.