В видеоролике WWDC от Apple за 2019 год Swift Combine in Practice
они демонстрируют использование debounce
издателя для снижения скорости передачи сообщений.
return $username
.debounce(for: 0.5, scheduler: RunLoop.main)
.removeDuplicates()
.eraseToAnyPublisher()
Однако всякий раз, когда я пытаюсь использовать его аналогичным образом, я получаю следующую ошибку:
Невозможно вызвать 'debounce' со списком аргументов типа '(для: Double, scheduler: RunLoop)'
Подпись debounce()
:
public func debounce<S>(for dueTime: S.SchedulerTimeType.Stride,
scheduler: S,
options: S.SchedulerOptions? = nil) ->
Publishers.Debounce<Self, S> where S : Scheduler
SchedulerTimeType.Stride
, похоже, инициализируется числовым значением, но у меня это не работает или проявляется моя неопытность в Swift Generics.
Как правильно это называть?
Изменить
Дубликат этого вопроса ...
Поиск общих слов, таких как "Объединить", на данный момент довольно сложен ...
macOS 10.15, Xcode 11