Anonymous Quiz
15%
[unowned self]
73%
[weak self]
1%
[strong self]
12%
[none self]
💊6
Anonymous Quiz
5%
concurrent
69%
serial
5%
async
21%
sync
Начиная с Swift 4, стандартный Dictionary сохраняет порядок вставки ключей. Даже при изменении значений или добавлении новых элементов порядок сохраняется, пока явным образом не удаляются ключи или не происходит массовая перераспределённая перестройка.
Это стало возможным благодаря обновлённой реализации хеш-таблицы внутри Dictionary.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
13%
Использование Objective-C блоков @try и @catch
69%
Оборачивание вызовов библиотек в Swift try-catch блоки
4%
Реализация обработчиков ошибок в каждом методе
14%
Преобразование исключений в ошибки через обертки
Anonymous Quiz
99%
DispatchQueue.main.async {}
1%
DispatchQueue.global().async {}
0%
0%
Async.runOnMain {}
URLSession.dataTask — это асинхронный вызов. Он немедленно возвращает объект задачи, но выполнение запроса происходит в фоне. Завершение происходит через callback (closure).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
6%
Использование позднего связывания
71%
Применение протоколов с расширениями
13%
Использование классовых функций
11%
Замена функций на время выполнения
Anonymous Quiz
15%
Использование #assert
74%
Применение #debug
4%
Использование #error
8%
Применение #warning
- удобное описание моделей;
- автоматическую синхронизацию данных;
- механизмы сохранения в SQLite (или других форматах);
- поддержку undo, lazy loading, валидации и интеграции с UI.
Core Data особенно полезна в приложениях с богатой моделью данных, связями и сложной логикой.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
80%
enum Name: String { case A = "Apple", B = "Banana" }
14%
enum Name { case A = "Apple", case B = "Banana" }
1%
enum Name(String) { case A = "Apple", case B = "Banana" }
5%
type enum Name: String { case A = "Apple", case B = "Banana" }
Anonymous Quiz
17%
Шифрование данных перед сохранением
74%
Использование Keychain вместо UserDefaults
2%
Применение стандартной сериализации
6%
Ограничение доступа к UserDefaults
💊3
Это паттерн, описывающий взаимодействие между объектами, как они передают управление и данные. Поведенческие паттерны помогают организовать структуру общения и избегать жёсткой связанности. Примеры: Observer, Strategy, Command, State, Mediator.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
36%
Использование is
19%
Применение conforms to
10%
Использование type(of:)
35%
Применение as?
💊10
Anonymous Quiz
41%
Использование catch
27%
Применение try
20%
Использование handleError
13%
Применение await
💊6
По умолчанию вложенная коллекция перехватывает события. Однако управление можно перенастроить: отключить isUserInteractionEnabled у ячеек, передать события вверх, изменить приоритеты gesture recognizers.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
16%
Использование глобальной переменной
76%
Определение класса с приватным конструктором и статическим свойством
3%
Применение класса с открытым конструктором
5%
Создание структуры с инициализатором
Anonymous Quiz
18%
std::condition_variable::wait может быть вызван несколько раз для одного условия
27%
std::condition_variable::wait требует использования std::unique_lock
42%
std::condition_variable::wait блокирует поток до получения сигнала
12%
std::condition_variable::wait позволяет проверять условие в цикле
💊4
1. Создать кастомную кнопку и переопределить point(inside:with:)
2. Либо обернуть кнопку в UIView с большим frame, но маленькой кнопкой внутри.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
81%
Equatable
12%
Comparable
3%
Matchable
4%
Equality
Anonymous Quiz
32%
Автоматическая сборка мусора
14%
Ручное управление памятью
21%
Использование безопасных оберток
32%
Применение строгой типизации