Ios ';()->;绑定目标<;错误>';不可转换为';(Bool)>;绑定目标<;错误>';

Ios ';()->;绑定目标<;错误>';不可转换为';(Bool)>;绑定目标<;错误>';,ios,swift,reactive-cocoa,reactive-swift,Ios,Swift,Reactive Cocoa,Reactive Swift,我最近继承了一个使用ReactiveSwift 3.1.0和ReactiveCocoa 7.2.0编写的iOS项目。我的任务是将其更新为Swift 5和最新的反应式Swift版本 我将ReactiveSwift更新为6.1.0,将ReactiveCocoa更新为10.1.0。我不太精通反应式编程,但我成功地将现有代码库的大部分转换为最新版本 然而,我被困在这个特殊的部分。原来的程序员不再可用 在这个项目中,视图控制器上有一个扩展来显示错误消息 extension Reactive where B

我最近继承了一个使用ReactiveSwift 3.1.0和ReactiveCocoa 7.2.0编写的iOS项目。我的任务是将其更新为Swift 5和最新的反应式Swift版本

我将ReactiveSwift更新为6.1.0,将ReactiveCocoa更新为10.1.0。我不太精通反应式编程,但我成功地将现有代码库的大部分转换为最新版本

然而,我被困在这个特殊的部分。原来的程序员不再可用

在这个项目中,视图控制器上有一个扩展来显示错误消息

extension Reactive where Base: UIViewController {
    func presentError(animated: Bool = true) -> BindingTarget<Error> {
        return self.makeBindingTarget { $0.present(error: $1, animated: animated) }
    }

    func present(error: Error, animated: Bool = true, completion: (() -> Void)? = nil) {
        LogError("Presenting error: \(error.verboseDescription)")
        self.present(UIAlertController(error: error, completion: completion), animated: animated, completion: nil)
    }
}
extension-Reactive-where-Base:UIViewController{
func presentError(动画:Bool=true)->BindingTarget{
返回self.makeBindingTarget{$0.present(错误:$1,动画:动画)}
}
函数存在(错误:错误,动画:Bool=true,完成:(()->Void)?=nil){
LogError(“呈现错误:\(error.verboseDescription)”)
self.present(UIAlertController(错误:错误,完成:完成),动画:动画,完成:无)
}
}
在视图控制器中,我在这一行得到下面的错误

self.reactive.presentError() <~ self.viewModel.reportAction.errors.map { $0 }

self.reactive.presentError()消息看起来更像是默认参数不起作用了。如果使用参数
self.reactive.presentError(动画:true)显式调用它,它是否有效谢谢您的回复。我尝试了此操作,但出现了一个新错误,即“对成员的引用不明确”“被动”。
private(set) var reportAction: Action<(User, ReportReason), Void, APIKit.Error>!