На странице собраны вопросы по Swift — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, swift, ios.
Какие ограничения и проблемы есть у SwiftUI? Молодая технология, которая пока обладает меньшей зрелостью Ограниченная поддержка старых iOS версий (iOS 13+) Ограниченный контроль над деталями UI усложняет глубокую…
GCD (Grand Central Dispatch) — механизм управления выполнением задач и потоками в iOS/macOS Сериализованные (Serial) очереди обрабатывают задачи строго по очереди, по одной за раз, поэтому сохраняют заданный порядок…
SOLID — это пять принципов ООП, которые помогают улучшать архитектуру и дизайн программного кода S (Single Responsibility): у класса должна быть только одна причина для изменения O (Open/Closed): программный компонент…
коллекция содержит слабые ссылки на объекты GC освобождает объекты, для которых не осталось сильных ссылок часто выгружаемые объекты быстро превращаются в null внутри коллекции возможна нестабильность данных: элементы…
Проблемы с кэшем после обновления стикера Устаревшие данные: в кэше останется прежняя версия стикера, поэтому пользователь увидит изображение до внесения дизайнерских правок Отсутствие инвалидации: после изменения…
Верстка в UIKit: фреймы и констрейнты, ключевые различия В UIKit применяют два основных подхода к верстке: фреймы и Auto Layout (констрейнты). При использовании фреймов положение и размеры UIView задаются напрямую…
Основные способы персистентного хранения в iOS UserDefaults — подходит для настроек приложения и небольших данных в формате «ключ — значение» Keychain — используется для защищённого хранения конфиденциальной…
Способы разрешения коллизий в хэш-таблицах Открытая адресация: свободная позиция подбирается прямо внутри массива варианты: линейное и квадратичное пробирование, а также двойное хеширование Цепочки (chaining):…
Способы хранения данных в iOS локальное хранение через UserDefaults — небольшие настройки в формате «ключ—значение» Keychain — защищённое хранение паролей и токенов Файлы (Documents, Caches) — сохранение…
статическая загрузка: библиотека подключается во время компиляции, а её код включается в итоговый файл динамическая загрузка: библиотека подключается в процессе выполнения программы (runtime), например DLL или SO…
Основные проблемы многопоточности в iOS Гонка данных (data race) — несколько потоков одновременно обращаются к общему ресурсу без необходимой синхронизации Взаимоблокировка (deadlock) — потоки удерживают ресурсы и…
область: программирование, ООП, вызовы методов Статическая (compile-time): метод определяется во время компиляции Динамическая (run-time): метод выбирается во время выполнения, например при вызове виртуальных методов…