Различия let, const и var ключевые слова JS, предназначенные для объявления переменных var: функциональная область видимости; к переменной можно обратиться до строки объявления благодаря hoisting let: область…
Функция — это именованный или анонимный блок кода, предназначенный для выполнения определённой задачи. Замыкание представляет собой функцию вместе со связанным лексическим контекстом, то есть переменными из внешней…
В жизненном цикле ViewController после вызова viewWillAppear обязательно ли вызывается viewDidAppear? Жизненный цикл VC в iOS UIKit viewWillAppear срабатывает непосредственно перед отображением вида на экране После…
Зачем нужен SupervisorJob и как создать собственный CoroutineScope? Контекст корутины управляет жизненным циклом запущенных корутин SupervisorJob — специальный вариант Job, при котором ошибка одной дочерней корутины…
Механизм управления памятью Swift для объектов классов Отслеживает число активных ссылок на объект — счетчик ссылок При добавлении ссылки счётчик увеличивается на 1, при её удалении — уменьшается на 1 После достижения…
Опыт диагностики утечек памяти и действия при критическом расходе RAM профилирование памяти: использую инструменты профилирования (Valgrind, perf, VisualVM, Memory Profiler) анализ дампов: изучаю heap snapshot и…
Как работают замыкания в циклах и обработчиках событий замыкание — это функция, которая может обращаться к переменным из внешней области видимости в цикле замыкание сохраняет ссылку на переменную, а не её текущее…
Чем отличаются Array, Set и Dictionary Все три типа предназначены для хранения коллекций данных Array — индексированный упорядоченный список, в котором разрешены дубликаты Set — неупорядоченная коллекция уникальных…
Как работает RunLoop в iOS-разработке? основной механизм обработки очереди событий в iOS поддерживает бесконечный цикл, в котором обрабатываются события UI, таймеры и задачи обеспечивает асинхронное выполнение задач в…
Как работают autorelease и autorelease pool? управление памятью в Objective-C autorelease: отложенное освобождение объекта autorelease pool: контейнер для объектов, ожидающих освобождения освобождение объектов…
Что представляют собой weak-ссылки и каков принцип их работы? Weak-ссылка — это ссылка, которая не мешает сборщику мусора освободить объект Если объект удерживается только weak-ссылками, он считается доступным для…