В жизненном цикле ViewController после вызова viewWillAppear обязательно ли вызывается viewDidAppear? Жизненный цикл VC в iOS UIKit viewWillAppear срабатывает непосредственно перед отображением вида на экране После…
Как Apple применяет принцип разделения интерфейсов (ISP) Модульные протоколы Swift В Swift Apple активно использует протоколы для разделения интерфейсов: каждый из них объединяет небольшой, специализированный набор…
Где разместить сборку для тестирования перед публикацией в App Store? сервис для бета-тестирования iOS-приложений TestFlight — официальный инструмент Apple приглашение тестировщиков по email или через публичную ссылку…
имею опыт unit-тестирования бизнес-логики проверял основные сценарии работы и пограничные случаи применял мок-объекты, чтобы изолировать зависимости создавал тесты с акцентом на поведение функций и валидность данных…
За что отвечают колбэки onStart, onStop, onPause, onResume? жизненный цикл компонента (Activity/Fragment) onStart: подготовка интерфейса и начало видимости компонента onResume: активное состояние и взаимодействие с…
Зачем в ARC используется механизм side table? Контекст: управление памятью в Objective-C (ARC) Side table представляет собой вспомогательную структуру данных для хранения дополнительной информации об объекте, которую…
Для чего в таблицах применяют повторное использование ячеек? UI и оптимизация памяти переиспользование небольшого фиксированного набора ячеек отсутствие необходимости создавать объект для каждой строки уменьшение…
Зачем нужен Navigation Component в Android? компонент Android Jetpack для организации навигации управляет переходами между фрагментами и активити использует граф навигации с маршрутами и действиями упрощает передачу…
Зачем нужны setNeedsLayout и layoutIfNeeded? iOS/UIView: управление перерасчётом компоновки setNeedsLayout: помечает view для перекладки в ближайшем цикле run loop не запускает обновление сразу, а только устанавливает…
Состав Android-приложения и его основные компоненты Android-приложение — это APK-пакет, в котором объединены программный код и ресурсы К основным компонентам относятся: – Activity — пользовательский интерфейс и…
при изменении конфигурации — например, ориентации, языка или параметров экрана — система перезапускает Activity перед этим вызывается onSaveInstanceState() для сохранения текущего состояния после чего Activity…