Anonymous Quiz
7%
Использование synchronized
49%
Применение DispatchQueue с барьерами
38%
Использование NSLock
6%
Применение Atomic
😁2💊2
Протоколы в iOS задают интерфейс, который может быть реализован классами, структурами или перечислениями. Они не содержат реализацию, но можно использовать протоколы с расширениями (protocol extension), чтобы добавить стандартное поведение. Протоколы обеспечивают гибкость и модульность. Это позволяет разделять ответственность и переиспользовать код.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
47%
Использование XCTest
5%
Применение Selenium
28%
Использование UI Testing Bundle
21%
Применение Snapshot Tests
Anonymous Quiz
66%
Объявление всех свойств как let
5%
Использование immutable модификатора
13%
Применение final классов
16%
Запрет на изменение через private(set)
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
6%
Использование Promise
44%
Применение DispatchQueue
44%
Использование async/await
7%
Применение Combine
Anonymous Quiz
55%
try-catch
7%
handling errors
4%
catching exceptions
35%
try await
🤔2
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
13%
Использование pattern matching
40%
Применение type casting
18%
Использование dynamic type check
29%
Применение polymorphism
🤔4
Anonymous Quiz
35%
Access control
29%
Property wrappers
17%
Encapsulation
19%
Mutability control
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
16%
strong и weak
12%
retain и release
2%
strong и unowned
70%
weak и unowned
Anonymous Quiz
86%
Гарантирует выполнение кода перед выходом из области видимости
8%
Повышает производительность за счет асинхронного выполнения
4%
Упрощает синтаксис функций
2%
Уменьшает количество кода
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
13%
Ограничение использования в дженериках
39%
Возможность определения типов данных в реализующих типах
41%
Необходимость определения конкретных типов данных при реализации
7%
Отсутствие возможности использования в качестве типов данных
Anonymous Quiz
27%
Для автоматической очистки неиспользуемой памяти
21%
Для предотвращения утечек памяти
43%
Для управления памятью без вмешательства разработчика
9%
Для упрощения управления памятью в многопоточных приложениях
💊7
Классы передаются по ссылке, а структуры по значению.
- К объектам класса обращаются через ссылку (let obj = MyClass()), изменения в одной переменной отразятся на всех экземплярах.
- К объектам структуры обращаются как к копиям, каждое присваивание создает новый объект (let obj = MyStruct()).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
11%
Для обработки транзакций в базе данных
36%
Для декомпозиции запросов на выполнение конкретных операций
6%
Для реализации многопоточности
47%
Для инкапсуляции запросов или операций как объектов
❤1
Anonymous Quiz
10%
Что представляет собой протокол Codable в Swift и в каких сценариях его применение особенно ценно?
76%
Для поддержки сериализации в JSON и XML
11%
Для валидации данных формы
3%
Для синхронизации данных в реальном времени
Это механизм динамического диспетчинга в Swift, используемый для работы с протоколами.
- Если структура или класс реализуют протокол, Swift создает Witness Table, хранящую указатели на методы.
- Это позволяет динамически вызывать методы, объявленные в протоколе, даже если тип не известен во время компиляции.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM