Как встроить SwiftUI-вью в UIKit с помощью UIHostingController? Для интеграции SwiftUI-вью в UIKit используется UIHostingController UIHostingController — это UIViewController, который служит оболочкой для SwiftUI-вью…
Опыт диагностики утечек памяти и действия при критическом расходе RAM профилирование памяти: использую инструменты профилирования (Valgrind, perf, VisualVM, Memory Profiler) анализ дампов: изучаю heap snapshot и…
Модульная структура приложения с SPM SPM представляет собой официальный менеджер пакетов Swift модули создаются в виде отдельных пакетов, каждый из которых содержит собственный Package.swift в состав пакетов могут…
Как организовать передачу данных между двумя приложениями под одним Apple ID с помощью App Groups iOS/macOS: совместный доступ реализуется через механизм App Groups В Apple Developer необходимо создать App Group ID В…
CI/CD pipeline — автоматизация процессов сборки и деплоя Сборка включает компиляцию, тестирование и статический анализ Артефакты — готовые бинарные файлы и контейнеры Артефакты хранятся в репозитории, например Nexus…
Чем отличаются Array, Set и Dictionary Все три типа предназначены для хранения коллекций данных Array — индексированный упорядоченный список, в котором разрешены дубликаты Set — неупорядоченная коллекция уникальных…
iOS-анимация, UIView При использовании UIView.animate значение frame UIView изменяется постепенно. Для получения текущего фрейма используйте presentation layer объекта CALayer presentationLayer в реальном времени…
Механизм отмены — важная часть работы с асинхронным кодом В JavaScript для этого применяют AbortController (fetch API, Promises) В C# задачи Task используют CancellationToken В Python применяют asyncio.CancelledError…
Как устроен ARC и в чём его отличие от MRC? Контекст: управление памятью в Objective-C и Swift MRC (Manual Retain-Release): разработчик самостоятельно вызывает retain и release при неверном подсчёте ссылок легко…
Как работает RunLoop в iOS-разработке? основной механизм обработки очереди событий в iOS поддерживает бесконечный цикл, в котором обрабатываются события UI, таймеры и задачи обеспечивает асинхронное выполнение задач в…
Как работают autorelease и autorelease pool? управление памятью в Objective-C autorelease: отложенное освобождение объекта autorelease pool: контейнер для объектов, ожидающих освобождения освобождение объектов…
Что представляют собой weak-ссылки и каков принцип их работы? Weak-ссылка — это ссылка, которая не мешает сборщику мусора освободить объект Если объект удерживается только weak-ссылками, он считается доступным для…