I tried creating an instance of Action<AnyObject?, Bool, NSError>
of 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>
}
}
This code isn't able to compile with error 'SignalProducer<Bool, NoError>' is not convertible to 'SignalProducer<Bool, NSError>'
.
How can I convert SignalProducer<Bool, NoError>
to SignalProducer<Bool, NSError>
?
You can use the mapError
operator. Something along the lines of:
self.fooSignalProducer |> mapError { _ in NSError() }
Edit:
As Justin points out below, promoteErrors
is specifically designed for this case:
self.fooSignalProducer |> promoteErrors(NSError)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With