Один из самых простых и гибких способов реализовать абстракцию — это использование протоколов (protocols).
Протоколы определяют набор требований (свойств, методов), не реализуя их, и позволяют легко заменять конкретные реализации в коде. Это даёт возможность:
- Заменять реализацию (например, для тестирования).
- Разделять ответственность.
- Поддерживать слабую связность компонентов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Anonymous Quiz
13%
fileprivate
40%
private
17%
internal
31%
extension
💊11
Anonymous Quiz
47%
Использование dynamic libraries
24%
Применение паттерна factory
19%
Разработка с protocols и extensions
10%
Создание структур с замыканиями
- IBOutlet – указывает, что свойство связано с элементом интерфейса (Storyboard/XIB).
- IBAction – указывает, что метод вызывается при взаимодействии пользователя (например, нажатие кнопки).
Оба являются атрибутами (
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
39%
map()
32%
forEach()
12%
filter()
18%
sorted()
💊9
Anonymous Quiz
81%
Изменяет свойства типа
8%
Создает копию объекта
6%
Удаляет объект из памяти
6%
Добавляет новое свойство
👍1
Priority inversion — это ситуация, когда низкоприоритетный поток блокирует ресурс, необходимый высокоприоритетному потоку, и тот вынужден ждать. Это нарушает принцип приоритетов и может тормозить важные задачи.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
17%
for
17%
while
19%
repeat-while
46%
do-while
💊6👍1
В SwiftUI или Jetpack Compose composition full layout означает создание интерфейса из переиспользуемых, независимых компонентов. Он строится через композицию небольших вью или функций, каждая из которых отвечает за отдельную часть интерфейса, что повышает читаемость и тестируемость.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
7%
class-only
71%
AnyObject
9%
class
12%
typeclass
Anonymous Quiz
31%
Использование lazy
49%
Определение computed property
15%
Использование didSet
5%
Использование willSet
👍1
Это формат представления информации в памяти компьютера.
Примеры:
- Простые типы: Int, Float, Char, Boolean.
- Структурные: Array, Tuple, Struct, Class.
- Ссылочные: Object, Pointer, Reference.
- Пользовательские: Enum, Union.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
82%
true
5%
false
8%
nil
4%
1
💊4
Anonymous Quiz
8%
Безопасная альтернатива weak
25%
Аналог strong, но без увеличения счётчика ссылок
61%
Как weak, но не устанавливается в nil при освобождении объекта
5%
Управление доступом к методам класса
🔥1
RunLoop используется для поддержки непрерывного ожидания и обработки событий в потоке. Он нужен, когда поток не должен завершаться, а должен обрабатывать входящие события, таймеры, сигналы или сообщения, особенно в UI и фоновых задачах.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
26%
append()
46%
join()
21%
concatenate()
8%
add()
👍1
Anonymous Quiz
83%
10
5%
9
7%
0
5%
4
🔥1
Проблема возникает из-за переиспользования ячеек и асинхронной загрузки изображений. Нужно:
- Сбрасывать содержимое ячейки перед повторным использованием.
- Проверять, соответствует ли картинка текущей ячейке после загрузки.
- Использовать кэш изображений.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
49%
nil
33%
""
12%
"undefined"
7%
null