rx.tapを自前で生やす
RxSwiftのReactiveに対してextensionを生やすことで、rx.hogeを生やす事ができる。
extension Reactive where Base: Button {
var tap: Observable<Void> {
return base.tapped
}
}
final class Button: UIView {
fileprivate let tapped = PublishSubject<Void>()
override func touchesEnded(_ touches: [UITouch]) {
tapped.onNext()
}
}
こんな感じで実装する。
button.rx.tap.subscribe()
こんな感じで使う。
これのいいところ
・RxCocoaの記法と同じなので、見栄えが良い。
・PublishSubjectのtappedをクラス内に隠蔽出来るため、外からtappedを呼ぶ事故が防げる
Author And Source
この問題について(rx.tapを自前で生やす), 我々は、より多くの情報をここで見つけました https://qiita.com/noppefoxwolf/items/b05f9539919c0798e418著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .