🤔 Может ли у UI View не быть layer'а и наоборот? UIView всегда имеет CALayer, так как UIView — это обёртка над CALayer в UIKit. CALayer может существовать без UIView, потому что это низкоуровневый элемент Core Animation, который не зависит от UIKit. 🚩UIView всегда содержит CALayer Каждый UIView внутри себя содержит CALayer, который отвечает за отрисовку. let view = UIView() print(view.layer) // Всегда существует! 🚩CALayer может существовать без UIView CALayer можно создать и добавить в иерарх...
Swift | Вопросы собесов
Cайт easyoffer.ru Реклама @easyoffer_adv ВП @easyoffer_vp Тесты t.me/+bn3i_aLL0-A2ZGMy Задачи t.me/+JQkI4zSOEXtkYzg6 Вакансии t.me/+3o9-Ytdiv_E5OGIy
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
20 из 20🤔 Что известно о паттерне MVC? MVC (Model-View-Controller) — это архитектурный паттерн, разделяющий приложение на три компонента: - Model — отвечает за данные и бизнес-логику. - View — отвечает за отображение информации пользователю. - Controller — связывает модель и представление, обрабатывает действия пользователя. Этот паттерн улучшает разделение ответственности, делает код более модульным, упрощает тестирование и поддержку. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
🤔 Что такое многопоточность? Это возможность центрального процессора (ЦПУ) или программы выполнять несколько задач (потоков) одновременно. В контексте программирования она используется для улучшения производительности приложений за счёт параллельной обработки задач. Это особенно важно для задач, требующих интенсивных вычислений, или приложений, которые должны одновременно реагировать на множество входных данных, таких как пользовательский интерфейс. 🚩Основные понятия 🟠Поток (Thread) Минимальн...
🤔 Синхронизация разных типов NSManagedObjectContext (получение и изменение данных в child-контекстах)? Дочерние контексты позволяют изолированно вносить изменения и сохранить их поэтапно: 1. childContext.save() — изменения переходят в parentContext. 2. parentContext.save() — данные сохраняются в хранилище (persistent store). Это удобно, например, для редактирования данных, которые не нужно сразу сохранять. Также это помогает избежать конфликтов при работе с несколькими фоновыми задачами. Ставь ...
🤔 Какие есть варианты обезопасить работу с историей images? Обеспечение безопасности работы с историей изображений в iOS-приложениях может включать несколько уровней защиты: 🟠Контроль доступа к изображениям - Используйте Privacy Settings (NSPhotoLibraryUsageDescription, NSCameraUsageDescription) для контроля доступа к фотоальбому. - Для ограниченного доступа в iOS 14+ используйте PHPickerViewController. let status = PHPhotoLibrary.authorizationStatus(for: .readWrite) if status == .authorized {...
🤔 Как устроено наследование? Это ключевой механизм ООП, позволяющий классам наследовать свойства, методы и другие характеристики от других классов. Это позволяет создавать новые классы на основе существующих, расширяя их функциональность или изменяя её. 🚩Основы наследования 🟠Определение базового класса Базовый класс определяет общие свойства и методы, которые могут быть унаследованы подклассами. 🟠Создание подкласса Подкласс наследует (или "расширяет") базовый класс. Он может переопределять у...
🤔 Какие объекты участвуют в зависимостях? В зависимости от контекста, под "объектами, участвующими в зависимостях" можно понимать различные концепции. В программировании под зависимостями чаще всего подразумеваются связи между объектами или модулями, где один объект зависит от другого для выполнения своих функций. 🚩Объект-зависимый и объект-зависимость Когда один объект (например, ViewController) зависит от другого (NetworkManager), первый становится клиентом, а второй – зависимостью. class Ne...
🤔 Что из себя представляет структура данных stack? Стек — это структура данных LIFO (Last In, First Out), где последний добавленный элемент извлекается первым. Операции добавления (push) и удаления (pop) выполняются только на вершине стека, что делает его удобным для управления вызовами функций и обработки данных в обратном порядке. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
🤔 Что можно сделать, если клавиатура при появлении скрывает важную часть интерфейса? - Смещать UIScrollView или UITableView, изменяя contentInset. - Использовать NotificationCenter (keyboardWillShow / keyboardWillHide) для динамического изменения высоты интерфейса. - Применить inputAccessoryView, чтобы добавить кнопки управления над клавиатурой. - Автоматически скрывать клавиатуру, если пользователь нажал за пределы поля ввода (tap gesture). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу...
🤔 Почему Apple предпочитает использовать value type по умолчанию? Apple предпочитает value types (структуры struct) по умолчанию в Swift по нескольким причинам 🟠Безопасность многопоточного кода struct копируется при передаче, а не передается по ссылке, как class. Это снижает вероятность гонки данных (data race), когда один поток изменяет объект, а другой читает его одновременно. В многопоточной среде это делает код более безопасным. struct Point { var x: Int var y: Int } var p1 = Point(x: 1, y...