Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Почему в проекте предпочитают ручную верстку на UIKit вместо SwiftUI?
UIKit более зрелый и предсказуемый: у него полная поддержка iOS-функций, гибкая настройка и стабильность во всех версиях. SwiftUI быстрее развивается, но ещё имеет ограничения в кастомизации, отладке и поддержке старых ОС, поэтому для крупных проектов часто отдают предпочтение проверенным инструментам UIKit.
Как добавить SwiftUI-вью в UIKit-контроллер через UIHostingController?
Создаёте UIHostingController(rootView:) с вашим SwiftUI-вью, добавляете его как дочерний контроллер в UIKit-контроллер, устанавливаете фрейм или constraints, и вызываете addChild/didMove(toParent:). После этого SwiftUI-вью отображается внутри UIKit.
Какие есть способы верстки в UIKit? Что такое фреймы и констрейнты, отличия?
Фреймы — абсолютное позиционирование через координаты и размеры (CGRect).
Констрейнты — относительное позиционирование через правила (Auto Layout).
Как UIKit определяет, какой gesture recognizer сработает первым?
UIKit определяет порядок срабатывания жестов на основе их состояний, зависимостей и решений делегата. Жест может ждать, пока другой завершится или завершится с ошибкой. Также учитываются специальные правила для системных жестов. Разработчик может явно управлять приоритетами через зависимости и методы делегата.
Почему UIKit до сих пор частично написан на Objective-C?
UIKit появился задолго до Swift и изначально был написан на Objective-C. Полный переписывание фреймворка слишком рискованно и дорого. Objective-C обеспечивает динамичность, стабильный ABI и тесную интеграцию с рантаймом. Swift поверх UIKit даёт современный синтаксис без ломки экосистемы.
Почему SwiftUI может проигрывать UIKit по производительности?
Когда оправдано использование SwiftUI внутри UIKit через UIHostingController?
В каких случаях стоит использовать SwiftUI, а в каких UIKit?
Какие примеры Observer можно найти в UIKit?
Рейтинг:
5
Сложность:
8
SwiftUI может быть медленнее UIKit из-за дополнительного слоя абстракций и автоматических механизмов обновления UI. UIKit дает более прямой контроль над жизненным циклом и перерисовкой элементов. В SwiftUI изменения состояния могут вызывать лишние пересчеты и layout-проходы. Это особенно заметно в списках, анимациях и сложных экранах.
Рейтинг:
4
Сложность:
6
Использование SwiftUI через UIHostingController оправдано, когда нужно внедрить новые экраны или компоненты без переписывания всего приложения. Это позволяет постепенно внедрять SwiftUI в существующий UIKit-код. Такой подход удобен для изолированных экранов, простых UI-компонентов и быстрых прототипов. Однако он требует аккуратного управления жизненным циклом.
Рейтинг:
5
Сложность:
6
SwiftUI удобен для быстрой разработки и декларативного описания интерфейса. UIKit дает больше контроля и зрелых инструментов для сложных сценариев. Выбор зависит от требований проекта, версии iOS и опыта команды. На практике часто используется гибридный подход. Важно понимать сильные и слабые стороны каждого решения.
Рейтинг:
5
Сложность:
4
В UIKit паттерн Observer используется очень часто. Самые известные примеры — NotificationCenter, target–action, delegate и KVO. Во всех этих случаях один объект уведомляет другие об изменениях или событиях. Подписчики реагируют на события, не зная внутренней реализации источника. Это снижает связанность компонентов.
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
10
Рейтинг:
5
Сложность:
9
Рейтинг:
5
Сложность:
6