在RxSwift中{HighlightRowAt

时间:2017-04-28 04:57:28

标签: swift uitableview rx-swift frp

如何在RxSwift中实现didHighlightRowAtUITableViewDelegate)?我可以找到大多数委托方法,但我找不到didHighlightRowAt

1 个答案:

答案 0 :(得分:2)

这样吗?

extension Reactive where Base: UITableView {

    var didHighlightRowAt: ControlEvent<IndexPath> {
        let selector = #selector(UITableViewDelegate.tableView(_:didHighlightRowAt:))
        let events = delegate
            .methodInvoked(selector)
            .filter({ ($0.last as? IndexPath) != nil })
            .map({ $0.last as! IndexPath })
        return ControlEvent(events: events)
    }
}

let observable = UITableView().rx.didHighlightRowAt.asObservable()