Поиск с debounce на Combine: debounce, removeDuplicates, switchToLatest
Суть
Поиск по мере ввода — каноническая задача для Combine: превратить поток нажатий клавиш в поток актуальных результатов. Каждый оператор решает свою проблему: debounce ждёт паузу в вводе, removeDuplicates отбрасывает повтор того же запроса, map превращает строку в сетевой издатель, switchToLatest отменяет устаревший запрос, receive(on:) доставляет результат на main.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep