Anonymous Quiz
72%
Реализация Codable
8%
Применение NSCoding
10%
Создание JSONSerializable интерфейса
10%
Использование Networkable протокола
iOS использует ARC (Automatic Reference Counting) — механизм, который автоматически отслеживает количество ссылок на объект. Когда счётчик становится равным нулю, объект удаляется. ARC работает на этапе компиляции и вставляет retain/release/assign автоматически.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
2%
Инициализирует объект
97%
Уничтожает объект
1%
Обновляет объект
0%
Клонирует объект
Anonymous Quiz
96%
URLSession
2%
HTTPRequest
1%
WebClient
1%
NetworkSession
Переопределение основной вьюхи контроллера происходит в методе loadView(). Это позволяет создать и присвоить свою вьюху, минуя storyboard.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
10%
С помощью private тестов
64%
Использование @testable аннотации с internal доступом
8%
Создание подклассов только для тестирования
17%
Применение паттерна "Factory" для тестирования
Anonymous Quiz
1%
enumeration
95%
enum
2%
case
1%
switch
🤔2
- AutoLayout — это система ограничений (constraints), определяющих расположение элементов вне зависимости от размера экрана. Используется при адаптивной, универсальной верстке.
- Frame-верстка — это явное указание координат и размеров каждого элемента. Быстро, но не гибко — плохо масштабируется под разные устройства и ориентации.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
31%
При помощи семафоров
23%
Используя atomics
10%
Применение Thread Sanitizer
37%
Разработка собственной thread-safe структуры с использованием GCD
💊4👍1
Anonymous Quiz
98%
Запрещает наследование класса
1%
Обозначает последний метод в классе
0%
Устанавливает константное значение свойства
1%
Инициализирует переменные только один раз
Каким стеком пользоваться?
Выбор стека технологий зависит от задач. Для веб-разработки популярны MERN (MongoDB, Express, React, Node.js), MEVN (Vue вместо React) или LAMP (Linux, Apache, MySQL, PHP). Для мобильной разработки используются стеки с Kotlin, Swift или Flutter. Выбор стека должен учитывать требования проекта, язык команды и доступность инструментов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
💊4🤔1
Anonymous Quiz
5%
Dispatch
77%
Defer
15%
Await
3%
Promise
Anonymous Quiz
24%
Использование static инициализации
26%
Применение блокировок и мьютексов
40%
Использование dispatch_once
10%
Применение атомарных проверок
- == — оператор сравнения значений. Он проверяет, эквивалентны ли два объекта по содержимому. Работает, если тип реализует протокол Equatable.
- === — оператор сравнения ссылок, применяется только к объектам классов. Он проверяет, ссылаются ли две переменные на один и тот же экземпляр в памяти.
Пример: два разных объекта с одинаковыми данными могут быть равны по ==, но не по ===.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Anonymous Quiz
15%
[unowned self]
71%
[weak self]
1%
[strong self]
13%
[none self]
💊6
Anonymous Quiz
5%
concurrent
71%
serial
3%
async
21%
sync
Начиная с Swift 4, стандартный Dictionary сохраняет порядок вставки ключей. Даже при изменении значений или добавлении новых элементов порядок сохраняется, пока явным образом не удаляются ключи или не происходит массовая перераспределённая перестройка.
Это стало возможным благодаря обновлённой реализации хеш-таблицы внутри Dictionary.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
15%
Использование Objective-C блоков @try и @catch
65%
Оборачивание вызовов библиотек в Swift try-catch блоки
6%
Реализация обработчиков ошибок в каждом методе
15%
Преобразование исключений в ошибки через обертки
Anonymous Quiz
97%
DispatchQueue.main.async {}
3%
DispatchQueue.global().async {}
0%
0%
Async.runOnMain {}