Выбор ответа Junior Типы значений и ссылочные спрашивают часто обновлено
Когда выбирать класс, а не структуру
Вопрос
В каком случае класс уместнее структуры?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Нужна общая изменяемая сущность с идентичностью. Apple советует начинать со структуры и брать класс, когда важна идентичность, общий изменяемый ресурс, наследование, deinit или совместимость с Objective-C.
Варианты ответа
- Нужна модель ответа API для декодирования через Codable
- Нужна общая изменяемая сущность с идентичностьюправильный ответ
- Нужно хранить координаты точки на экране
- Нужна потокобезопасность без дополнительной синхронизации
Разбор
Apple советует начинать со структуры и брать класс, когда важна идентичность, общий изменяемый ресурс, наследование, deinit или совместимость с Objective-C. DTO и точки отлично ложатся на структуры. Класс не даёт потокобезопасности даром: общий изменяемый объект как раз требует синхронизации, а копии значений её не требуют.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Типы значений и ссылочные»
- Copy-on-write у Array: когда копируется буфер
- Модификаторы borrowing и consuming
- Как сделать свой copy-on-write
- Existential container: как хранится any Protocol
- Типы значений и ссылочные типы в Swift
- Оператор === в Swift
- Зачем indirect у enum
- Задача на Swift: стек отмены для текстового поля