TGViewer
Swift | Вопросы собесов Swift | Вопросы собесов @easy_swift · 2.16K subscribers
Post #1986 237
🤔 Расскажи про структуры

Структуры (struct) – это один из основных типов данных в Swift. Они значимые (value type), то есть при передаче копируются, а не передаются по ссылке.

🚩Главные особенности `struct`

Value type – при передаче копируется (в отличие от классов)
Нет ARC (автоматического подсчета ссылок) – производительность выше
Могут иметь методы, свойства, инициализаторы
Работают с протоколами (protocol-oriented programming)
Не поддерживают наследование

🚩Пример структуры

struct Car {
var model: String
var year: Int

func description() -> String {
return "\(model) – \(year)"
}
}

let car1 = Car(model: "Tesla", year: 2023)
var car2 = car1 // Создается копия

print(car1.description()) // Tesla – 2023
print(car2.description()) // Tesla – 2023

car2.year = 2024 // Изменяем car2, но car1 остается прежним
print(car1.year) // 2023
print(car2.year) // 2024


🚩Мутируемые структуры (`mutating`)

По умолчанию методы не могут изменять свойства структуры. Чтобы изменить их внутри метода, нужно использовать mutating
struct Counter {
var count = 0

mutating func increment() {
count += 1
}
}

var counter = Counter()
counter.increment()
print(counter.count) // 1


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 3
More from @easy_swift
  1. Oct 10, 2026🤔 Что будет, если на serial очереди запустить асинхронную Task? Асинхронная задача начнёт…
  2. Oct 9, 2026🤔 Что известно о Swift Intermediate Language (SIL)? SIL (Swift Intermediate Language) — э…
  3. Oct 9, 2026🤔 Что под капотом стэка? Это абстрактная структура данных, работающая по принципу LIFO (L…
  4. Oct 8, 2026🤔 Как хранить объекты классов в массиве по weak-ссылке? Обычно для этого используют обёрт…
  5. Oct 7, 2026🤔 Как можно итерироваться по строке? Строка — это коллекция символов. Итерироваться можно…
  6. Oct 7, 2026🤔 Какие есть инструменты для работы с потоками? В Swift есть несколько инструментов для р…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →