Мне кажется, что я понимаю, что все основные компоненты ReactiveCocoa (концептуально), понимая, как соединить все части вместе, все еще немного запутывают.Почему SignalProducer не возвращает сигнал?
Например, после прочтения о Сигнале, я ожидал SignalProducer просто иметь метод один старт(), возвращающий сигнал, который вы будете использовать так:
mySignalProducer.start().observe(myObserver)
Вместо этого, вы должны пройти наблюдатель в начале(), и SignalProducer вызовы наблюдения() для вас:
mySignalProducer.start(myObserver)
Это означает, что интерфейс SignalProducer гораздо больше (больше, чтобы понять), потому что все вариации на наблюдения() должны быть дублируется при запуске() (например, startNext() и т. д.).
Я думаю, что есть две возможности:
- Есть технические причины начать() не может просто вернуть сигнал
- я неправильно понимают SignalProducer концептуально, что приводит к шаткий ожиданиям его интерфейса
Если это так, я предполагаю, что это имеет какое-то отношение к управлению памятью и расходными материалами, которые я еще не совсем понял.
Я больше обеспокоен тем, что это случай. Внутренне, мое понимание SignalProducer в основном отображается на концепцию завода, например .:
mySignalFactory.createSignal().observe(myObserver)
поэтому я удивлен, что мы не находим начало(), который возвращает сигнал.
Я был бы очень благодарен, если бы сообщество могло пролить свет здесь.
Спасибо!