На странице собраны вопросы по Xcode — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, ios, hittest.
Где разместить сборку для тестирования перед публикацией в App Store? сервис для бета-тестирования iOS-приложений TestFlight — официальный инструмент Apple приглашение тестировщиков по email или через публичную ссылку…
Зачем нужны setNeedsLayout и layoutIfNeeded? iOS/UIView: управление перерасчётом компоновки setNeedsLayout: помечает view для перекладки в ближайшем цикле run loop не запускает обновление сразу, а только устанавливает…
Опыт диагностики утечек памяти и действия при критическом расходе RAM профилирование памяти: использую инструменты профилирования (Valgrind, perf, VisualVM, Memory Profiler) анализ дампов: изучаю heap snapshot и…
динамический массив, использующий динамическое выделение памяти перед добавлением проверяется наличие свободной ёмкости если свободного места недостаточно — резервируется дополнительная память (примерно в 2 раза…
Как исследовать и устранить торможение таблицы с динамическим содержимым производительность UI, фронтенд применить профайлер браузера (Chrome DevTools), чтобы изучить рендеринг, выполнение скриптов и использование…
Модульная структура приложения с SPM SPM представляет собой официальный менеджер пакетов Swift модули создаются в виде отдельных пакетов, каждый из которых содержит собственный Package.swift в состав пакетов могут…
CI/CD pipeline — автоматизация процессов сборки и деплоя Сборка включает компиляцию, тестирование и статический анализ Артефакты — готовые бинарные файлы и контейнеры Артефакты хранятся в репозитории, например Nexus…
Слабые ссылки — это ссылки, которые не препятствуют сборщику мусора GC освобождать объект. В Java для этого применяют класс WeakReference. Для коллекций используют WeakHashMap (ключи в ней являются слабыми ссылками)…
сериализация — преобразование структуры данных в формат, пригодный для хранения или передачи форматы: JSON (универсальный текстовый), XML и бинарные форматы (Protobuf, MessagePack) десериализация — восстановление…
Optional представляет собой контейнер, который может содержать значение или nil Собственный аналог Optional можно описать через enum с вариантами .some и .none Вложенный Optional, например Int???, — это Optional,…
Сложность вставки элемента в массив структура данных: массив (статический или динамический) добавление в конец динамического массива: амортизированная сложность — O(1) добавление в начало либо середину: необходимо…
Инструменты синхронизации Мьютексы (mutexes) — предоставляют доступ к ресурсу только одному потоку Семафоры — задают допустимое число потоков, работающих одновременно Мониторы — обеспечивают автоматическую блокировку…