Anonymous Quiz
82%
Откладывает выполнение кода до выхода из текущего блока
4%
Задерживает вызов функции
3%
Определяет последовательность выполнения потоков
11%
Гарантирует выполнение кода после условного оператора
Anonymous Quiz
22%
DispatchGroup асинхронно уведомляет о завершении
48%
Semaphore ограничивает количество параллельных доступов
10%
DispatchGroup требует ручного управления
20%
Semaphore используется только для блокировки потоков
Опционалы позволяют безопасно выражать возможность отсутствия значения (nil) на уровне типов. Это предотвращает случайные ошибки и делает код более предсказуемым.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
52%
Использование lazy var
20%
Применение singleton с ленивой инициализацией
12%
Создание static фабричного метода с кэшированием
15%
Определение глобальной lazy функции
Anonymous Quiz
38%
Использование & для соединения протоколов
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
5%
Тестирование производительности
12%
Нагрузочное тестирование
77%
Функциональное тестирование
7%
Тестирование безопасности
- При инициализации и отображении контроллера (вручную или через навигацию).
- Основные методы:
- viewDidLoad()
- viewWillAppear()
- viewDidAppear()
- viewWillDisappear()
- viewDidDisappear()
Чтобы вызвать жизненный цикл вручную:
- Представить контроллер:
- Или встроить в навигацию:
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
85%
break
3%
continue
0%
exit
13%
return
Anonymous Quiz
57%
infix operator +++: AdditionPrecedence
26%
infix operator +++: DefaultPrecedence
12%
infix operator +++: NormalPrecedence
5%
infix operator +++: StandardPrecedence
Нет, классы в Swift не могут наследоваться от более чем одного суперкласса. Однако Swift поддерживает множественное наследование поведения через соответствие нескольким протоколам.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
63%
Реализация протокола Numeric
14%
Использование типа NSDecimalNumber
4%
Применение typealias для Double
18%
Расширение существующего типа через extension
Anonymous Quiz
34%
Способ хранения значений любого типа
32%
Контейнер для ассоциированных типов
34%
Способ использовать протоколы как типы данных
0%
Механизм для обработки ошибок протоколов
Это механизм динамического диспетчинга в Swift, используемый для работы с протоколами.
- Если структура или класс реализуют протокол, Swift создает Witness Table, хранящую указатели на методы.
- Это позволяет динамически вызывать методы, объявленные в протоколе, даже если тип не известен во время компиляции.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
67%
Key-Value Observing (KVO)
30%
NotificationCenter
3%
Delegation
0%
Combine