Да, хотя структуры являются значимыми типами и копируются при передаче, Swift оптимизирует работу с ними.
Если структура содержит ссылочные типы (например, массивы, классы, строки), то эти элементы могут находиться в хипе, а сама структура — в стеке или регистре.
При этом используется Copy-On-Write — копирование данных происходит только при изменении.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
36%
Тип, ограниченный протоколом с ассоциированными типами
33%
Тип, который скрывает конкретный тип
25%
Универсальный тип, который может принимать любой другой тип
6%
Тип данных, который можно инстанциировать
Anonymous Quiz
5%
Класс
36%
Перечисление
31%
Структура
28%
Кортеж
💊2
1. Линейные: массивы, списки, стеки, очереди.
2. Нелинейные: деревья, графы.
3. Ассоциативные: хэш-таблицы, словари.
4. Специализированные: кучи, множества.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
91%
Closures
7%
Function Composition
1%
Function Overloading
0%
Function Currying
Anonymous Quiz
86%
Observer
12%
Delegate
1%
Singleton
1%
Factory
Core Data поддерживает многоконтекстную архитектуру. Контексты можно изолировать для фоновых операций, но разработчику нужно самостоятельно управлять синхронизацией, иначе данные могут конфликтовать или теряться.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
65%
Использование XCTestUI
9%
Применение скриптов для автоматизации тестирования
9%
Ручное написание тестов для каждого элемента UI
16%
Использование фреймворков для визуального тестирования
💊1
Anonymous Quiz
28%
Создание копий объектов
44%
Интроспекция и рефлексия объектов
19%
Изменение свойств объектов в рантайме
8%
Сериализация объектов
Протоколы — это набор требований к типу: какие свойства и методы должны быть реализованы.
Они позволяют описать общий контракт, не привязываясь к конкретной реализации. Протоколы — основа интерфейсного программирования и композиции.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Forwarded from easyoffer
Новая фича на easyoffer – Автоотлики
Вы автоматически откликаетесь на подходящие вам вакансии. Попробуйте её бесплатно и начните получать больше предложений о работе.
🚀 Запуск занимаем всего 3 минуты, а экономит очень много времени
🛡 Это безопасно: easyoffer официально одобрен HeadHunter и прошел его модерацию.
🥷🏻 Автоотклик незаметен для рекртера. Автоотклик ничем не отличается от обычного отклика, который вы делаете вручную
Рекрутеры давно используют автоматизацию для поиска кандидатов. Так почему вы должны откликаться вручную?
💡Совет – Добавьте шаблон сопроводительного письма, чтобы откликаться на большее количество вакансий (на некоторые вакансии нельзя откликнуться без сопроводительного)
Попробовать бесплатно → https://easyoffer.ru/autoapply
Вы автоматически откликаетесь на подходящие вам вакансии. Попробуйте её бесплатно и начните получать больше предложений о работе.
🚀 Запуск занимаем всего 3 минуты, а экономит очень много времени
🛡 Это безопасно: easyoffer официально одобрен HeadHunter и прошел его модерацию.
🥷🏻 Автоотклик незаметен для рекртера. Автоотклик ничем не отличается от обычного отклика, который вы делаете вручную
Рекрутеры давно используют автоматизацию для поиска кандидатов. Так почему вы должны откликаться вручную?
💡Совет – Добавьте шаблон сопроводительного письма, чтобы откликаться на большее количество вакансий (на некоторые вакансии нельзя откликнуться без сопроводительного)
Попробовать бесплатно → https://easyoffer.ru/autoapply
Anonymous Quiz
57%
is
10%
as
1%
as!
32%
as?
Anonymous Quiz
69%
Создание протоколов для абстракции и реализации
2%
Использование наследования
17%
Применение композиции классов
12%
Разработка независимых модулей
Data race — это ошибка, возникающая, когда несколько потоков одновременно обращаются к одной переменной, при этом хотя бы один из них меняет её без синхронизации. Это приводит к непредсказуемому поведению.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
64%
Try-Catch
2%
Guards
0%
Error Boundaries
35%
Async Throws
💊3
Anonymous Quiz
0%
?
98%
!
2%
*
0%
&
Это термины из управления памятью в Objective-C, но понимание их полезно и в Swift:
- assign — простое присваивание без увеличения счётчика ссылок. Используется для значимых типов (int, float, struct) или для слабых ссылок.
- retain — увеличивает счётчик ссылок (reference count), предотвращая уничтожение объекта. Используется для ссылочных типов (классов).
В Swift аналогом являются сильные (strong), слабые (weak) и некопируемые (unowned) ссылки.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
13%
Exception
43%
Error
18%
Throwable
25%
NSError
Anonymous Quiz
31%
Прямое создание экземпляров
7%
Отложенное создание объектов
59%
Создание объектов без указания конкретного класса
2%
Автоматическое кеширование объектов
Даже если циклы не вложены, общая временная сложность функции зависит от количества операций. Если два цикла идут последовательно по одному и тому же массиву, сложность будет O(n + n) = O(n). А если по разным — и их размеры разные — то, например, O(n + m).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
Anonymous Quiz
74%
throw Error.myError
3%
raise Error.myError
22%
exception Error.myError
1%
trigger Error.myError
🤔2