рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЖрд░рдПрд╕реА 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) }
)
}
}
рдХреНрдпрд╛ рдореИрдВ рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдзрдиреНрдпрд╡рд╛рдж!
takeUntil
SignalProducer
рдХрд╛ takeUntil
рдЕрдзрд┐рднрд╛рд░ рд╣реИ рдЬреЛ v4.0.0-рдЕрд▓реНрдлрд╛.2 рд╕реЗ Signal
рд▓реЗрддрд╛ рд╣реИ: https://github.com/ReactiveCocoa/Reactive.ocoa/blob/v4 .0.0-рдЕрд▓реНрдлрд╝рд╛ .2 / рд░рд┐рдПрдХреНрдЯрд┐рд╡рдХреЛрдЖ / рд╕реНрд╡рд┐рдлреНрдЯ / рд╕рд┐рдЧреНрдирд▓рдкреНрд░реЛрдбреНрдпреВрд╕рд░.рд╕рд┐рдлрд╝реНрдЯ # рдПрд▓ 557
рдПрдХ рдЕрджреНрдпрддрди рдХреЗ рд▓рд┐рдП рд╕рдордп! рд╕рд╛рднрд╛рд░: +1:
@ikesyo рд╕рд┐рд░реНрдл рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рдХреЗ рд▓рд┐рдП, Signal
рд╕реЗ SignalProducer
рдЙрдк-рдЗрд╖реНрдЯрддрдо рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рдмреЗрд╣рддрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ Signal
рдФрд░ SignalProducer
lift
Signal
SignalProducer
(рдФрд░ рд╕рд╣реА рд░реВрдк рд╕реЗ) рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдВрддрд░ рджреЗрдЦрддрд╛ рд╣реВрдВред рдХреНрдпрд╛ Signal
рд╕реЗ SignalProducer
рд░реВрдкрд╛рдВрддрд░рдг рд╣реБрдЖ рд╣реИ?
рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ! :)
let producer = SignalProducer(signal: signal)
рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреЛрдИ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдмрдирд╛рддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ # 2449)
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ! :)
рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреЛрдИ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдмрдирд╛рддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ # 2449)