На странице собраны вопросы по UIKit — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, ui, uikit.
VIPER можно применять в UIKit, но выбор архитектуры зависит от размера модуля, команды и требований, а не от обязательного правила для всех приложений.
Обычно общими делают токены дизайна и поведение компонентов, а способ рендера выбирают отдельно для UIKit и SwiftUI. Полное отсутствие дублирования не самоцель.
Собственная concurrent queue с barrier сериализует запись относительно чтений. Но вызов completion внутри очереди создаёт риск reentrancy и deadlock при setValue из callback.
Единой обязательной архитектуры нет. Важно разделить состояние экрана, пользовательские действия, бизнес-логику и навигацию, независимо от UIKit или SwiftUI.
Выберите одного владельца презентации для каждого сценария. UIKit-навигация не запрещает SwiftUI alert/sheet, но два независимых механизма не должны управлять одним состоянием.
В UIKit обработка событий касания экрана происходит через систему событий, которая передаёт события касания объектам UIResponder. Основные методы для обработки касаний — это методы из UIResponder: