This commit is contained in:
Михаил Капелько
2023-12-13 19:27:57 +03:00
parent 30efa129a8
commit 848f658327
3 changed files with 56 additions and 68 deletions

View File

@@ -7,29 +7,21 @@ final class VM: ObservableObject {
var subscriptions = Set<AnyCancellable>()
init() {
// Уведомляем об изменении текста.
$text
.sink { [weak self] v in self?.changeText.send(v) }
.store(in: &subscriptions)
// Интерпретируем текст с задержкой, потому что:
// 1. смена @Published в ту же секунду игнорируется
// полем ввода, т.е. нужна задержка
// 2. ожидаем окончания ввода (спама), чтобы
// обработать введённое без потерь из-за конфликта
// старых данных и новых.
changeText
$text
.debounce(for: .seconds(0.3), scheduler: DispatchQueue.main)
.sink { [weak self] v in
/*
guard
let out = MeetupId.shouldFormat(v),
v != out
else {
return
}
*/
let out = v
/**/print("ИГР TFCVM.init changeT in/out: '\(v)'/'\(out)'")
self?.text = out
}