"转换为 ReactiveCocoa 3 的 "SignalProducer"?-6ren"> "转换为 ReactiveCocoa 3 的 "SignalProducer"?-我尝试创建一个 Action 的实例ReactiveCocoa 3. let action: Action = Action { _ in if self.flag { ret-6ren">
gpt4 book ai didi

ios - 如何将 "SignalProducer"转换为 ReactiveCocoa 3 的 "SignalProducer"?

转载 作者:搜寻专家 更新时间:2023-10-30 22:31:07 26 4
gpt4 key购买 nike

我尝试创建一个 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>
}
}

此代码无法编译并出现错误 'SignalProducer<Bool, NoError>' is not convertible to 'SignalProducer<Bool, NSError>' .

如何转换 SignalProducer<Bool, NoError>SignalProducer<Bool, NSError>

最佳答案

您可以使用 mapError 运算符。类似的东西:

self.fooSignalProducer |> mapError { _ in NSError() }

编辑:

正如 Justin 在下面指出的,promoteErrors 是专门为这种情况设计的:

self.fooSignalProducer |> promoteErrors(NSError)

关于ios - 如何将 "SignalProducer<Bool, NoError>"转换为 ReactiveCocoa 3 的 "SignalProducer<Bool, NSError>"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30644124/

26 4 0