无法将类型“(() throws -> Void?) -> ()”的值转换为预期的参数类型“((Void) throws -> Void)?”

Cannot convert value of type '(() throws -> Void?) -> ()' to expected argument type '((Void) throws -> Void)?'

我有一个反应式方法,应该 return ((Void) throws -> Void)? 用于 .on(onNext: myUIComponent.rx.function) 但无论我做什么,我都得不到预期的结果。

我试过

func name() throws -> Void?

func name(xpto: ((Void) throws -> Void?) = nil)

有人知道吗?

D'哦,没有什么是必要的,只需创建一个 func name() 没有 return 就像

extension Reactive where Base: ReactiveUIComponent {
    func name() {
        ...
    }
}

button.rx.tap
    .do(onNext: reactiveUIComponent.rx.name)
    ...

你试过了吗

func name(xpto: ((Void) throws -> Void)? = nil)

(? 在括号外。) 这使得整个闭包成为可选的,而不是 returns 一个空可选的可选,这没有意义。