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

最佳答案

这种方式?

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()

10-07 18:06