0Pricing
Swift Academy · Урок

Memberwise init и изменяющие методы

Разберитесь со структурами Swift: автоматически создаваемыми инициализаторами по членам и необходимостью методов mutating при изменении свойств.

«Memberwise init и изменяющие методы» — бесплатный урок Swift Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 3 уроков всего.

Введение

Структуры в Swift получают бесплатный инициализатор по членам, а для методов, изменяющих состояние, требуется модификатор mutating.

Инициализатор по членам

Swift автоматически предоставляет структурам с хранимыми свойствами инициализатор с параметрами x и y.

struct Point {
    var x: Int
    var y: Int
}
let p = Point(x: 3, y: 5)
print(p.x, p.y)

Неизменяющий метод

Методы без модификатора mutating не могут изменять свойства — по умолчанию они доступны только для чтения.

struct Counter {
    var count = 0
    func show() { print(count) }
}
let c = Counter()
c.show()

Изменяющее приращение

Модификатор mutating позволяет методу структуры изменять её свойства.

struct Counter {
    var count = 0
    mutating func increment() {
        count += 1
    }
}
var c = Counter()
c.increment()
print(c.count)

Переназначение self

Метод с модификатором mutating может даже полностью переназначить self.

struct Switch {
    var on: Bool = false
    mutating func toggle() {
        self = Switch(on: !on)
    }
}
var s = Switch()
s.toggle()
print(s.on)

Советы

Советы:

  • Используйте mutating только тогда, когда необходимо изменить свойства.
  • Для ясности делайте большинство методов неизменяющими.
  • Помните, что классам это ключевое слово не требуется.

Модификатор mutating

Быстрая проверка: почему методу структуры нужен модификатор mutating, чтобы изменять свойства?

Итоги

Итоги: структуры получают бесплатный инициализатор по членам. Используйте mutating, когда метод изменяет состояние или переназначает саму структуру.

Часто задаваемые вопросы

Урок «Memberwise init и изменяющие методы» бесплатный?

Да — полный текст урока «Memberwise init и изменяющие методы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 3 уроков всего.

Чему я научусь в уроке «Memberwise init и изменяющие методы»?

Разберитесь со структурами Swift: автоматически создаваемыми инициализаторами по членам и необходимостью методов mutating при изменении свойств. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Swift Academy?

Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.

Сколько времени занимает урок «Memberwise init и изменяющие методы»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Swift Academy?

Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Memberwise init и изменяющие методы
  2. Наследование, переопределение и final
  3. Управление доступом (public/internal/fileprivate/private)
← Назад к Swift Academy