如何在ReactiveCocoa 5中将RACSignal转换为SignalProducer?

Luk*_*uke 8 objective-c reactive-cocoa swift reactive-cocoa-4 reactive-cocoa-5

在ReactiveCocoa 4中,我们可以将a RACSignal转换为SignalProducer使用toSignalProducer().ReactiveCocoa 5中不存在此方法,那么我们如何才能做同样的事情呢?

Luk*_*uke 3

bridgedSignalProducer()ReactiveObjCBridge中使用:

someSignal.toSignalProducer()
Run Code Online (Sandbox Code Playgroud)

变成

bridgedSignalProducer(from: someSignal)
Run Code Online (Sandbox Code Playgroud)

这会产生一个SignalProducer<Value?, AnyError>. 与 RAC 4 不同startWithNext(),RAC 5startWithValues()仅适用于类型为 的SignalProducers 。为了解决这个问题,我添加了一个实用函数,其行为方式与任何类型相同,但适用于任何类型(忽略任何错误。)ErrorNoErrorSignalProducerstartWithValuesError

  • @MuhammadZohaibEhsan 使用 ReactiveCocoa 7.0.1 和 ReactiveObjcCBridge 2.0.0: `let racSignal = RACSignal&lt;NSDate&gt;() let sigProd = SignalProducer(racSignal)` (2认同)