私は最近、RAC 4にRAC 3から変換するために、開始していることを発見しましたtakeUntil
のSignalProducer
今受け入れSignalProducer
とは対照的に、 Signal
RAC 3に。
これはextension SignalType
での私の現在の方法であり、かなりハックな感じがします。
func toSignalProducer() -> SignalProducer<T, E> {
return SignalProducer { (sink, _) in
self.observe(
next: { t in sendNext(sink, t) },
completed: { _ in sendCompleted(sink) }
)
}
}
これを改善できますか? ありがとう!
ありtakeUntil
過負荷のSignalProducer
とるSignal
v4.0.0-alpha.2から: https://github.com/ReactiveCocoa/ReactiveCocoa/blob/v4 .0.0-alpha.2 / ReactiveCocoa / Swift / SignalProducer.swift#L557
更新の時間です! ありがとう:+1:
@ikesyo好奇心のために、 Signal
をSignalProducer
に変換する私のアプローチは最適ではありませんか? これはもっとうまくできるでしょうか? Signal
とSignalProducer
間の相互運用性のほとんどは、 lift
Signal
の演算子を受け入れてSignalProducer
を受け入れることによってもたらされると思います(そして当然のことながら)。 Signal
をSignalProducer
変換することは嫌われていますか?
これはすでにフレームワークで利用可能です! :)
let producer = SignalProducer(signal: signal)
それは本質的に副作用のないプロデューサーを作成します(#2449を参照)
最も参考になるコメント
これはすでにフレームワークで利用可能です! :)
それは本質的に副作用のないプロデューサーを作成します(#2449を参照)