Във видеоклипа Swift Combine in Practice
на WWDC на Apple от 2019 г. те демонстрират използването на 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