Anonymous Quiz
21%
Использование делегирования
19%
Реализация кастомных событий с замыканиями
59%
Использование KVO (Key-Value Observing)
1%
Применение паттерна Command
💊5
Компилятор автоматически оборачивает выражение в замыкание. Используется, например, в функциях вроде assert, чтобы отложить выполнение до нужного момента и сохранить читаемость.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
🤔2
Anonymous Quiz
18%
Comparable
7%
Hashable
70%
Equatable
5%
Equality
Anonymous Quiz
15%
Оптимизация
2%
Деплоймент
81%
Рефакторинг
2%
Профилирование
- При инициализации и отображении контроллера (вручную или через навигацию).
- Основные методы:
- viewDidLoad()
- viewWillAppear()
- viewDidAppear()
- viewWillDisappear()
- viewDidDisappear()
Чтобы вызвать жизненный цикл вручную:
- Представить контроллер:
- Или встроить в навигацию:
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
82%
nil
10%
Пустой массив
2%
0
6%
Последний элемент массива
Anonymous Quiz
11%
Прямая связь между объектами
56%
Применение NotificationCenter
28%
Использование протоколов и делегирования
4%
Связывание через глобальные переменные
💊16
private (доступ только внутри текущего файла или типа),
fileprivate (доступ в пределах файла),
internal (доступ по умолчанию в модуле),
public (доступ в любом модуле),
open (доступ для наследования и изменения вне модуля).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
79%
Использование XCTest UI
17%
Применение Snapshot tests
2%
Использование Playgrounds
2%
Применение Asynchronous tests
👍1
Anonymous Quiz
1%
Garbage Collection
3%
Memory Pool
6%
Reference Counting
90%
Automatic Reference Counting (ARC)
👍1
Keychain — безопасное хранилище для конфиденциальных данных (пароли, токены). UserDefaults — для простых настроек и состояний (темы, флаги), не защищён от внешнего доступа.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Anonymous Quiz
93%
Ограничение доступа в пределах одного файла
3%
Ограничение доступа в пределах модуля
2%
Ограничение доступа в пределах класса
2%
Ограничение доступа в пределах пакета
Anonymous Quiz
2%
Атрибут для создания массивов.
95%
Атрибут для создания оберток свойств
1%
Атрибут для обработки ошибок.
3%
Атрибут для управления памятью.
👍1
Да, если захватываешь self внутри замыкания — Swift требует явного self, чтобы избежать непреднамеренного retain cycle и повысить читаемость.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Anonymous Quiz
34%
Использование Codable
28%
Применение JSONSerialization
4%
Использование Type-Safe JSON
33%
Применение Decodable
💊1
Anonymous Quiz
93%
nil
2%
0
3%
Пустая строка
2%
false
Swift поддерживает две семантики:
- Семантика значений — структуры и перечисления, копируются при передаче.
- Семантика ссылок — классы, при передаче копируется ссылка.
Они влияют на поведение данных при передаче между переменными и при работе с памятью.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2
Anonymous Quiz
96%
weak
3%
unowned
0%
optional
1%
lazy
Anonymous Quiz
75%
throw выбрасывает ошибку, throws отмечает функцию
14%
throw отмечает функцию, throws выбрасывает ошибку
7%
Оба термина синонимы
4%
Ни один из них не связан с обработкой ошибок
1. Это значит, что компилятор определяет вызов метода на этапе компиляции.
2. Методы из extension не могут быть переопределены или динамически разрешены через Objective-C runtime.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1