r.i*_*ita 5 ios reactive-cocoa swift reactive-cocoa-3
我尝试创建Action<AnyObject?, Bool, NSError>ReactiveCocoa 3 的实例.
let action: Action<AnyObject?, Bool, NSError> = Action { _ in
if self.flag {
return self.fooSignalProducer // SignalProducer<Bool, NoError>
} else {
return self.barSignalProducer // SignalProducer<Bool, NSError>
}
}
Run Code Online (Sandbox Code Playgroud)
此代码无法编译错误'SignalProducer<Bool, NoError>' is not convertible to 'SignalProducer<Bool, NSError>'.
我怎样才能转换SignalProducer<Bool, NoError>成SignalProducer<Bool, NSError>?
您可以使用该mapError运算符.有点像:
self.fooSignalProducer |> mapError { _ in NSError() }
Run Code Online (Sandbox Code Playgroud)
编辑:
正如Justin在下面指出的那样,promoteErrors是专门针对这种情况设计的:
self.fooSignalProducer |> promoteErrors(NSError)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
892 次 |
| 最近记录: |