2016-04-07 4 views
0

Я наблюдаю реактивное действие какао-4, поэтому я могу запустить некоторый код, когда действие выполнено.ReactiveCocoa 4: Наблюдение завершенного события действия

Вот Defintion моих действий в:

Вот как я делаю наблюдающий:

vm.buttonAction.events.observeCompleted { 
    print("observed completed") 
} 
vm.buttonAction.events.observeNext { 
    print("observed next") 
} 

Наблюдение Следующих событий работает правильно. Когда действие инициируется UIButton, выполняется оператор печати.

Однако моя проблема заключается в том, что по какой-либо причине наблюдение за завершенным событием никогда не срабатывает. Может ли это быть ошибкой в ​​ReactiveCocoa или я что-то неправильно делаю?

Спасибо!

+0

Кажется, вы задали тот же вопрос здесь: https://github.com/ReactiveCocoa/ReactiveCocoa/issues/2784 и получил ответ. Можете ли вы опубликовать его здесь также? –

ответ

2

Я задал тот же вопрос на странице ReactiveCocoa github и получил ответ (от @ikesyo). Для полноты я даю ответ здесь:

Это предназначенное поведение. Поскольку подпись общественные мероприятия: Пусть Signal<Event<Output, Error>, NoError>, вы можете наблюдать Законченные события внутренней изготовителя и следующим образом:

vm.buttonAction.events.observeNext { event in 
    switch event { 
    case let .Next(value): ... // A Next event from the inner producer 
    case .Completed: ... // A Completed event from the inner producer 
    default: break 
    } 
} 

Источник: https://github.com/ReactiveCocoa/ReactiveCocoa/issues/2784

Смежные вопросы