Вопрос проверяет знание механизма RunLoop и его роли в обработке событий.
RunLoop — это цикл, который обрабатывает события (тапы, таймеры, сетевые запросы) в потоке. Главный поток iOS имеет RunLoop по умолчанию.
1. Основные функции:
Обрабатывает события (например, UI-обновления).
Работает с таймерами (Timer) и источниками ввода.
2. Пример:
Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { _ in
print("Таймер сработал")
} // Таймер добавляется в RunLoop текущего потока.3. Особенности:
В фоновых потоках RunLoop не запущен по умолчанию.
Для долгих задач в фоне можно запустить вручную:
RunLoop.current.run() Вывод:
RunLoop критичен для отзывчивости UI. Не блокируйте главный поток!