Подтвердить что ты не робот

ReactiveCocoa: подпишитесь только на новые значения

Я создал подписчика событий в viewDidLoad следующим образом:

[RACObserve(_authenticationView.passwordInput.textField, text) subscribeNext:^(NSString* text)
{
     //handle this
}];

Это срабатывает всякий раз, когда свойство textField.text изменяется (ожидается), однако оно также срабатывает один раз при создании или для значения intitial, которое не то, что я хочу.

Конечно, я мог бы отфильтровать это, но я хочу только отфильтровать первое событие. Как мне это сделать?

Требования:

  • Если пароль имеет новое пустое значение, отправьте сообщение о проверке (не может быть пустым пароль).
  • Если пароль имеет новое непустое значение, обратитесь к удаленному клиенту.

., так какой самый чистый способ сделать это?

4b9b3361

Ответ 1

Если вы просто хотите пропустить первое значение, просто вставьте -skip:1 туда:

[[RACObserve(_authenticationView.passwordInput.textField, text) skip:1] subscribeNext:^(NSString* text)
{
     //handle this
}];