Имплементация протокола — это реализация всех обязательных требований (свойств и методов), определённых в протоколе. В Swift это делается с помощью ключевого слова protocol, и затем класс, структура или enum, подписываясь на него, реализуют нужный функционал.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
9%
Автоматически шифровать данные
34%
Проверять условия валидности
50%
Переопределять геттеры и сеттеры
6%
Хранить данные в облачном хранилище
Anonymous Quiz
7%
Упрощает доступ к свойствам
86%
Определяет удобный инициализатор
3%
Улучшает производительность
4%
Объявляет протокол
Метод pushViewController(_:animated:) используется для навигации вперёд по стеку экранов. Он добавляет новый экран в стек и отображает его с анимацией перехода. Также popViewController(animated:) используется для возврата.
Вот развёрнутые ответы на вопросы, связанные с навигацией, версткой, GCD, безопасностью данных и типизацией в Swift и Vue:
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1
Anonymous Quiz
74%
Использование typealias
4%
Использование typedef
21%
Использование generic
1%
Использование multiType
Anonymous Quiz
12%
Создает новый observable при каждой подписке
61%
Откладывает создание observable до первой подписки
16%
Запускает наблюдаемое событие с задержкой
10%
Повторяет события при новой подписке
Когда пользователь касается экрана, происходит следующий процесс:
1. Аппаратный слой (дисплей) фиксирует касание и передаёт его в iOS.
2. Система генерирует объект события (UIEvent, UITouch).
3. Событие передаётся в главное окно (UIWindow) и далее — вью-контроллерам и иерархии UIView.
4. Система запускает hit-testing — определяет, какая вьюшка находится под точкой касания.
5. Вызываются методы:
- hitTest(_:with:) — определяет целевую вью.
- touchesBegan(_:with:), touchesMoved, touchesEnded — передают событие в конкретную вью.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
46%
Использование atomic свойств
18%
Применение DispatchQueue с барьером
35%
Использование NSLock
1%
Применение volatile
💊3
Anonymous Quiz
73%
let
20%
readonly
5%
const
1%
var
По умолчанию Operation — это одноразовая, неблокирующая, однопоточная операция, реализуемая через BlockOperation или кастомный подкласс Operation. Её тип — абстрактный базовый класс, от которого нужно наследоваться или использовать конкретные реализации (например, BlockOperation). По умолчанию операция выполняется синхронно, пока не будет помещена в OperationQueue, где она становится асинхронной.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
83%
Откладывает выполнение кода до выхода из текущего блока
4%
Задерживает вызов функции
1%
Определяет последовательность выполнения потоков
11%
Гарантирует выполнение кода после условного оператора
Anonymous Quiz
21%
DispatchGroup асинхронно уведомляет о завершении
48%
Semaphore ограничивает количество параллельных доступов
10%
DispatchGroup требует ручного управления
21%
Semaphore используется только для блокировки потоков
Опционалы позволяют безопасно выражать возможность отсутствия значения (nil) на уровне типов. Это предотвращает случайные ошибки и делает код более предсказуемым.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
52%
Использование lazy var
20%
Применение singleton с ленивой инициализацией
13%
Создание static фабричного метода с кэшированием
15%
Определение глобальной lazy функции
Anonymous Quiz
37%
Использование & для соединения протоколов
55%
Перечисление протоколов через запятую
6%
Определение каждого протокола в отдельном generic
2%
Использование массива протоколов
Избегать dynamic,
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
73%
DispatchGroup
20%
AsyncAwait
7%
OperationQueue
0%
CompletionHandler
Anonymous Quiz
6%
Тестирование производительности
13%
Нагрузочное тестирование
74%
Функциональное тестирование
7%
Тестирование безопасности
- При инициализации и отображении контроллера (вручную или через навигацию).
- Основные методы:
- viewDidLoad()
- viewWillAppear()
- viewDidAppear()
- viewWillDisappear()
- viewDidDisappear()
Чтобы вызвать жизненный цикл вручную:
- Представить контроллер:
- Или встроить в навигацию:
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
84%
break
3%
continue
0%
exit
12%
return