2. Companion object является частью класса и позволяет обращаться к его членам напрямую через имя класса.
3. Companion object можно назвать автоматически, а object требует явного имени.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2
Anonymous Quiz
3%
UIKit
80%
Auto Layout
12%
SwiftUI
6%
Interface Builder
Anonymous Quiz
16%
Использование guard
80%
Применение defer
3%
Использование final
2%
Применение exit
2. Unowned: слабая ссылка, которая не увеличивает счётчик ссылок, но предполагается, что объект всегда существует в памяти.
3. Если объект с unowned ссылкой удалён, обращение к нему приведёт к крашу программы.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Anonymous Quiz
19%
В определении функций
13%
В определении класса
53%
В расширениях и дженериках
15%
В инструкциях if
Anonymous Quiz
31%
Использование Any
4%
Применение union
35%
Создание enum с ассоциированными значениями
30%
Использование дженериков с ограничениями
1. Application Context: существует в течение всего времени работы приложения, привязан к процессу приложения.
2. Activity Context: привязан к жизненному циклу конкретной активности и может быть уничтожен при её завершении.
3. Для длительных задач и сервисов используется Application Context, а для UI-операций — Activity Context.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
29%
Использование JSONSerialization
45%
Применение Codable
21%
Использование JSONEncoder
5%
Применение Serializable
Anonymous Quiz
45%
asyncMap
13%
mapAsync
12%
forEachAsync
30%
asyncSequence
2. Сложность отладки: некорректная передача контекста может привести к скрытым багам.
3. Проблемы с производительностью: использование Activity Context вместо Application Context может создать избыточные ресурсы.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
30%
removeAll(where:)
20%
filter
45%
remove(at:)
5%
Прямое удаление в for-loop
Anonymous Quiz
86%
Использование deinit
7%
Применение willSet
3%
Использование finalize
5%
Применение beforeDestroy
2. Включает выделение памяти и назначение значений свойствам (вручную или по умолчанию).
3. В Kotlin инициализация может выполняться через первичный конструктор, блоки init или вторичные конструкторы.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
29%
Скрытие реализации типа данных
13%
Инкапсуляция внутренних деталей класса
49%
Сокрытие конкретных типов возвращаемых значений функций
9%
Защита данных от изменений во время выполнения
Anonymous Quiz
5%
performAfter
91%
DispatchQueue.asyncAfter
5%
Timer.scheduledTimer
0%
runLater
2. Однако это может привести к утечкам памяти, особенно если контекст связан с долгоживущими объектами (например, Application Context).
3. Плохо спроектированный код с контекстами может усложнить отладку и поддержку.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
32%
Использование init в протоколе
57%
Применение required init
6%
Использование construct
5%
Применение protocol init
Anonymous Quiz
54%
AsyncResult
18%
Future
21%
Promise
7%
Deferred
Процесс выделения (allocation) связан с резервированием памяти для хранения объектов или данных в программе. В зависимости от типа памяти выделение может происходить в куче (heap) или стеке (stack). Куча используется для объектов с длительным сроком жизни, а стек — для временных данных, таких как локальные переменные. В языках с автоматическим управлением памятью, например, в Swift или Java, выделение и освобождение памяти обрабатываются системой.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
77%
Использование условных расширений с where
7%
Применение обобщенных расширений
7%
Использование динамических расширений
8%
Применение строгих расширений