Reactivecocoa: Pertanyaan - Bagaimana cara mengubah Signal ke SignalProducer?

Dibuat pada 5 Nov 2015  ·  4Komentar  ·  Sumber: ReactiveCocoa/ReactiveCocoa

Saya baru-baru ini mulai mengonversi dari RAC 3 ke RAC 4 dan menemukan bahwa takeUntil pada SignalProducer sekarang menerima SignalProducer dibandingkan dengan Signal di RAC 3 .

Ini adalah metode saya saat ini di extension SignalType dan rasanya cukup hackish:

func toSignalProducer() -> SignalProducer<T, E> {
  return SignalProducer { (sink, _) in
    self.observe(
      next: { t in sendNext(sink, t) },
      completed: { _ in sendCompleted(sink) }
    )
  }
}

Bisakah saya meningkatkan ini? Terima kasih!

question

Komentar yang paling membantu

Ini sudah tersedia dalam kerangka! :)

let producer = SignalProducer(signal: signal)

Itu pada dasarnya menciptakan produsen tanpa efek samping (lihat # 2449)

Semua 4 komentar

Ada kelebihan takeUntil dari SignalProducer yang membutuhkan Signal dari v4.0.0-alpha.2: https://github.com/ReactiveCocoa/ReactiveCocoa/blob/v4 .0.0-alpha.2 / ReactiveCocoa / Swift / SignalProducer.swift # L557

Waktunya untuk pembaruan! Terima kasih: +1:

@ikesyo Hanya untuk rasa ingin tahu, apakah pendekatan saya untuk mengubah Signal menjadi SignalProducer sub-optimal? Bisakah ini dilakukan dengan lebih baik? Saya melihat sebagian besar interoperabilitas antara Signal dan SignalProducer berasal dari operator lift ing Signal menerima SignalProducer (dan memang demikian). Apakah mengonversi Signal menjadi SignalProducer disukai?

Ini sudah tersedia dalam kerangka! :)

let producer = SignalProducer(signal: signal)

Itu pada dasarnya menciptakan produsen tanpa efek samping (lihat # 2449)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat