RXSwift 如何为具有 return 值的委托方法创建包装器

RXSwift How to create wrapper for delegate method with return value

我在 RXSwift 中有一个委托包装器

func tableView(tableView: UITableView,movedRowAtIndexPath sourceIndexPath: NSIndexPath,toIndexRowPath destinationRowIndexPath: NSIndexPath)    

他们看起来像

public var rx_itemRowMoved: ControlEvent<ItemMovedEvent> {
    let source: Observable<ItemMovedEvent> = rx_delegate.observe("tableView:movedRowAtIndexPath:toIndexRowPath:")
        .map { a in
            return ((a[1] as! NSIndexPath), (a[2] as! NSIndexPath))
    }

    return ControlEvent(events: source)
}

但是我有 return 值的委托

 func selectionViewForTableView(tableView: UITableView,destinitionCell cell:UITableViewCell,toIndexRowPath destinationRowIndexPath: NSIndexPath) -> UIView

如何为此委托实现包装器?

没有办法做到这一点。您可以直接在您的委托所有者中实现此方法。您也可以参考 RxTableViewReactiveArrayDataSourceCellFactory。它将方法更改为阻塞。