На странице собраны вопросы по Swift — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, swift, ios.
UITableView и UICollectionView оба представляют собой UI-компоненты iOS для отображения списков UITableView: одна колонка и вертикальная прокрутка UICollectionView: сетка/решетка и свободная компоновка элементов…
UIKit и Core Animation: различия UIView — интерфейсный объект, который отвечает за взаимодействие с пользователем и обработку событий CALayer — низкоуровневый графический слой для отрисовки содержимого и выполнения…
Structured и unstructured concurrency Область применения: управление параллельным выполнением и многозадачностью Structured concurrency: задачи выстроены в иерархию и вложены друг в друга, а их жизненный цикл чётко…
Функция — это именованный или анонимный блок кода, предназначенный для выполнения определённой задачи. Замыкание представляет собой функцию вместе со связанным лексическим контекстом, то есть переменными из внешней…
Архитектурные паттерны построения UI MVP (Model-View-Presenter): View передаёт события Presenter Presenter обрабатывает логику и обновляет View и Model Явное разделение UI и бизнес-логики MVVM (Model-View-ViewModel):…
Как работают последовательные и конкурентные очереди? Очередь — это структура данных, в которой элементы обрабатываются по принципу FIFO: первым обрабатывается тот, кто был добавлен первым. Последовательная (serial)…
GCD (Grand Central Dispatch) — механизм управления задачами в iOS/macOS. Синхронные задачи (sync): поток, который вызвал задачу, блокируется до момента её завершения. Операции выполняются последовательно, поэтому…
MVX-паттерны: сходства и различия Определяют архитектуру UI: каждый из них разделяет логику приложения, представление и управление состоянием Разделяют зоны ответственности → благодаря этому код проще поддерживать и…
В жизненном цикле ViewController после вызова viewWillAppear обязательно ли вызывается viewDidAppear? Жизненный цикл VC в iOS UIKit viewWillAppear срабатывает непосредственно перед отображением вида на экране После…
Как Apple применяет принцип разделения интерфейсов (ISP) Модульные протоколы Swift В Swift Apple активно использует протоколы для разделения интерфейсов: каждый из них объединяет небольшой, специализированный набор…
Где в памяти процесса размещаются динамически загружаемые библиотеки? загружаются в адресное пространство процесса размещаются в сегменте dynamic/shared libraries (обычно в области heap/mmap) контролируются…
Где разместить сборку для тестирования перед публикацией в App Store? сервис для бета-тестирования iOS-приложений TestFlight — официальный инструмент Apple приглашение тестировщиков по email или через публичную ссылку…