Кнопка «Оформить» не активируется, пока пользователь не тронет чекбокс согласия
@Published var email = ""
@Published var phone = ""
let agreementToggled = PassthroughSubject<Bool, Never>()
Publishers.CombineLatest3($email, $phone, agreementToggled)
.map { email, phone, agreed in email.contains("@") && phone.count == 11 && agreed }
.assign(to: &$isButtonEnabled)
Согласие уже отмечено по умолчанию на экране. Пользователь вводит корректные почту и телефон, но isButtonEnabled не пересчитывается вообще, даже при вводе. Почему?
- CombineLatest ждёт первое значение от каждого
- CombineLatest реагирует только на последний
- assign(to:) нельзя использовать с map
- @Published не работает внутри CombineLatest
