– Протоколы — только набор требований, не содержат реализации состояния.
Swift не поддерживает полноценные абстрактные классы, поэтому протоколы часто используются вместо них.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
31%
Использование генериков в enum
55%
Использование ассоциированных значений
1%
Использование кастомных инициализаторов
13%
Использование протоколов с расширениями
Anonymous Quiz
72%
Использование UserDefaults для сохранения состояния
9%
Сохранение состояния в базе данных
18%
Применение State Restoration и Preservation APIs
1%
Ручное сохранение состояния всех элементов в файл
Нет. По умолчанию view создаётся лениво при первом обращении к view или при вызове loadViewIfNeeded().
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
37%
Error Handling
8%
Exception Handling
55%
Try-Catch
0%
Optionals
Anonymous Quiz
23%
toArray()
25%
array()
12%
convertToArray()
40%
map(_:)
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
5%
Использование String для каждой операции
18%
Применение NSAttributedString
41%
Кэширование строк в static переменных
36%
Использование Substring для обработки частей строки
Anonymous Quiz
38%
weak
10%
strong
51%
unowned
1%
soft
💊3
Опционалы реализованы как enum с двумя состояниями: .none и .some(Value). В памяти они занимают больше места, чем просто значение, чтобы вместить флаг наличия данных.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
72%
== nil
10%
!= nil
13%
.isNil
5%
nilCheck
💊2
Anonymous Quiz
3%
Создание глобальных переменных
17%
Использование шаблона Singleton
80%
Внедрение зависимостей через конструктор (Dependency Injection)
0%
Прямое создание зависимостей внутри объектов
ARC вставляет вызовы retain и release во время компиляции, когда создаются или уничтожаются сильные ссылки. Это работает прозрачно и синхронно, без необходимости вручную управлять памятью.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
7%
Использование public модификатора
39%
Применение private модификатора
39%
Объявление методов как internal
15%
Ограничение доступа через fileprivate
Anonymous Quiz
30%
value
27%
capture
33%
weak
9%
unowned
Часто используются приёмы: выделение метода, перемещение логики в отдельный класс или слой, замена условных операторов полиморфизмом, переименование для ясности, инверсия зависимости. Главная цель — улучшить читаемость, переиспользуемость и снизить связанность компонентов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
56%
Использование WebSockets для постоянного соединения с сервером
19%
Применение push-уведомлений для инициации обновлений
9%
Отслеживание изменений с помощью long-polling техники
17%
Разработка REST API с поддержкой long-running запросов
Anonymous Quiz
8%
Использование NotificationCenter
26%
Применение KVO (Key-Value Observing)
53%
Использование @Published вместе с SwiftUI
13%
Активация Data Binding
При верстке UITableViewCell через фреймы приходится вручную рассчитывать все размеры и положения элементов. Это быстрее по производительности, но требует точности и большой ответственности при адаптации под разные экраны.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
8%
Использование глобальных переменных для обмена данными
42%
Применение делегатов для передачи данных между модулями
32%
Создание единого Data Manager
18%
Использование Event-driven архитектуры