Reactivecocoa: рдкреНрд░рд╢реНрди - рд╕рд┐рдЧреНрдирд▓ рдХреЛ рд╕рд┐рдЧреНрдирд▓рдкреНрд░реЛрдбреНрдпреВрд╕рд░ рдореЗрдВ рдХреИрд╕реЗ рдмрджрд▓реЗрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдирд╡ре░ 2015  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ReactiveCocoa/ReactiveCocoa

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЖрд░рдПрд╕реА 3 рд╕реЗ рдЖрд░рдПрд╕реА 4 рдореЗрдВ рдмрджрд▓рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ 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) }
    )
  }
}

рдХреНрдпрд╛ рдореИрдВ рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдзрдиреНрдпрд╡рд╛рдж!

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ! :)

let producer = SignalProducer(signal: signal)

рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреЛрдИ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдмрдирд╛рддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ # 2449)

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдПрдХ рдЕрджреНрдпрддрди рдХреЗ рд▓рд┐рдП рд╕рдордп! рд╕рд╛рднрд╛рд░: +1:

@ikesyo рд╕рд┐рд░реНрдл рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рдХреЗ рд▓рд┐рдП, Signal рд╕реЗ SignalProducer рдЙрдк-рдЗрд╖реНрдЯрддрдо рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рдмреЗрд╣рддрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ Signal рдФрд░ SignalProducer lift Signal SignalProducer (рдФрд░ рд╕рд╣реА рд░реВрдк рд╕реЗ) рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдВрддрд░ рджреЗрдЦрддрд╛ рд╣реВрдВред рдХреНрдпрд╛ Signal рд╕реЗ SignalProducer рд░реВрдкрд╛рдВрддрд░рдг рд╣реБрдЖ рд╣реИ?

рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ! :)

let producer = SignalProducer(signal: signal)

рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреЛрдИ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдмрдирд╛рддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ # 2449)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Lewion picture Lewion  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

LunaCodeGirl picture LunaCodeGirl  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dougmcbride picture dougmcbride  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

BrettThePark picture BrettThePark  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

baei2048 picture baei2048  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ