Метод pushViewController(_:animated:) используется для навигации вперёд по стеку экранов. Он добавляет новый экран в стек и отображает его с анимацией перехода. Также popViewController(animated:) используется для возврата.
Вот развёрнутые ответы на вопросы, связанные с навигацией, версткой, GCD, безопасностью данных и типизацией в Swift и Vue:
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1
Anonymous Quiz
75%
Использование typealias
3%
Использование typedef
21%
Использование generic
1%
Использование multiType
Anonymous Quiz
13%
Создает новый observable при каждой подписке
59%
Откладывает создание observable до первой подписки
17%
Запускает наблюдаемое событие с задержкой
11%
Повторяет события при новой подписке
Когда пользователь касается экрана, происходит следующий процесс:
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
44%
Использование atomic свойств
19%
Применение DispatchQueue с барьером
36%
Использование NSLock
2%
Применение volatile
💊3
Anonymous Quiz
75%
let
21%
readonly
3%
const
1%
var
По умолчанию Operation — это одноразовая, неблокирующая, однопоточная операция, реализуемая через BlockOperation или кастомный подкласс Operation. Её тип — абстрактный базовый класс, от которого нужно наследоваться или использовать конкретные реализации (например, BlockOperation). По умолчанию операция выполняется синхронно, пока не будет помещена в OperationQueue, где она становится асинхронной.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
85%
Откладывает выполнение кода до выхода из текущего блока
3%
Задерживает вызов функции
2%
Определяет последовательность выполнения потоков
10%
Гарантирует выполнение кода после условного оператора
Anonymous Quiz
18%
DispatchGroup асинхронно уведомляет о завершении
52%
Semaphore ограничивает количество параллельных доступов
6%
DispatchGroup требует ручного управления
24%
Semaphore используется только для блокировки потоков
Опционалы позволяют безопасно выражать возможность отсутствия значения (nil) на уровне типов. Это предотвращает случайные ошибки и делает код более предсказуемым.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
50%
Использование lazy var
25%
Применение singleton с ленивой инициализацией
13%
Создание static фабричного метода с кэшированием
13%
Определение глобальной lazy функции