На странице собраны вопросы по Swift — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, swift, ios.
Диспетчеризация методов в final-классе final-класс не допускает наследование, поэтому его методы нельзя переопределить реализация метода протокола вызывается статически, без виртуального вызова компилятор использует…
Сложность вставки элемента в массив структура данных: массив (статический или динамический) добавление в конец динамического массива: амортизированная сложность — O(1) добавление в начало либо середину: необходимо…
антипаттерн — подход, который приводит к проблемам Spaghetti code: запутанный код, который трудно понимать и поддерживать God object: объект, наделённый чрезмерным количеством обязанностей Golden hammer: неоправданное…
Уровни приоритетов QoS область применения: управление сетью и трафиком QoS (Quality of Service) — механизм назначения приоритетов сетевому трафику основные уровни: Высокий приоритет: для данных, критичных к задержкам,…
Возможности фонового выполнения в iOS 13 Фреймворк фонового обновления приложений BackgroundTasks framework Позволяет передавать системе задачи для планирования и запуска в наиболее подходящий момент…
Инструменты и практическое применение Grand Central Dispatch (GCD) GCD — низкоуровневый фреймворк для управления многопоточностью в iOS/macOS К основным структурам относятся: dispatch_queue (последовательная и…
Инструменты синхронизации Мьютексы (mutexes) — предоставляют доступ к ресурсу только одному потоку Семафоры — задают допустимое число потоков, работающих одновременно Мониторы — обеспечивают автоматическую блокировку…
Методы layout у UIView и работа с Auto Layout layoutSubviews — главный метод раскладки: он вызывается после изменения фрейма или вызова setNeedsLayout; внутри него размещают сабвью. setNeedsLayout — отмечает view для…
Механизмы управления памятью Стек: быстрое автоматическое выделение и освобождение при ограниченном объёме Куча: динамическое выделение, требующее контроля освобождения и обычно работающее медленнее Сборщик мусора…
Какие области памяти есть кроме стека и кучи Data (Data Segment) — сегмент для глобальных и статических переменных, который создаётся во время загрузки программы BSS (Block Started by Symbol) — часть Data Segment,…