Опционалы позволяют безопасно выражать возможность отсутствия значения (nil) на уровне типов. Это предотвращает случайные ошибки и делает код более предсказуемым.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
51%
Использование lazy var
20%
Применение singleton с ленивой инициализацией
16%
Создание static фабричного метода с кэшированием
13%
Определение глобальной lazy функции
💊1
Anonymous Quiz
39%
Использование & для соединения протоколов
53%
Перечисление протоколов через запятую
6%
Определение каждого протокола в отдельном generic
2%
Использование массива протоколов
Избегать dynamic,
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
75%
DispatchGroup
19%
AsyncAwait
6%
OperationQueue
0%
CompletionHandler
Anonymous Quiz
4%
Тестирование производительности
12%
Нагрузочное тестирование
75%
Функциональное тестирование
8%
Тестирование безопасности
- При инициализации и отображении контроллера (вручную или через навигацию).
- Основные методы:
- viewDidLoad()
- viewWillAppear()
- viewDidAppear()
- viewWillDisappear()
- viewDidDisappear()
Чтобы вызвать жизненный цикл вручную:
- Представить контроллер:
- Или встроить в навигацию:
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
81%
break
3%
continue
1%
exit
14%
return
Anonymous Quiz
51%
infix operator +++: AdditionPrecedence
25%
infix operator +++: DefaultPrecedence
12%
infix operator +++: NormalPrecedence
12%
infix operator +++: StandardPrecedence
Нет, классы в Swift не могут наследоваться от более чем одного суперкласса. Однако Swift поддерживает множественное наследование поведения через соответствие нескольким протоколам.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
60%
Реализация протокола Numeric
10%
Использование типа NSDecimalNumber
7%
Применение typealias для Double
23%
Расширение существующего типа через extension
Anonymous Quiz
33%
Способ хранения значений любого типа
36%
Контейнер для ассоциированных типов
31%
Способ использовать протоколы как типы данных
0%
Механизм для обработки ошибок протоколов
Это механизм динамического диспетчинга в Swift, используемый для работы с протоколами.
- Если структура или класс реализуют протокол, Swift создает Witness Table, хранящую указатели на методы.
- Это позволяет динамически вызывать методы, объявленные в протоколе, даже если тип не известен во время компиляции.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
62%
Key-Value Observing (KVO)
27%
NotificationCenter
1%
Delegation
10%
Combine
Anonymous Quiz
56%
Strategy
11%
Factory
7%
Observer
26%
Delegate
Да, хотя структуры являются значимыми типами и копируются при передаче, Swift оптимизирует работу с ними.
Если структура содержит ссылочные типы (например, массивы, классы, строки), то эти элементы могут находиться в хипе, а сама структура — в стеке или регистре.
При этом используется Copy-On-Write — копирование данных происходит только при изменении.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
35%
Тип, ограниченный протоколом с ассоциированными типами
32%
Тип, который скрывает конкретный тип
25%
Универсальный тип, который может принимать любой другой тип
8%
Тип данных, который можно инстанциировать
Anonymous Quiz
5%
Класс
37%
Перечисление
30%
Структура
28%
Кортеж
💊2
1. Линейные: массивы, списки, стеки, очереди.
2. Нелинейные: деревья, графы.
3. Ассоциативные: хэш-таблицы, словари.
4. Специализированные: кучи, множества.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
90%
Closures
8%
Function Composition
1%
Function Overloading
0%
Function Currying