0Pricing
SwiftUI Academy · Урок

Зачем дочерним представлениям нужен @Binding

Разберитесь в двусторонней передаче данных между представлениями.

«Зачем дочерним представлениям нужен @Binding» — бесплатный урок SwiftUI Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SwiftUI Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SwiftUI Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Two Views, One Truth

When a parent owns a value and a child needs to change it, they must share one source of truth. Otherwise they drift apart. 🔗

The Problem with Copies

If you just pass a value into a child, the child gets a copy. Editing that copy never touches the parents original data.

Enter @Binding

A @Binding is a two-way connection. The child reads and writes the parents value directly, with no copy in between.

Reference, Not a Copy

Think of a binding as a remote control. The child does not own the data; it just holds a reference to where it lives.

Who Owns What

The parent owns the state with @State. The child only borrows it through @Binding. Ownership stays in one clear place.

Two-Way Data Flow

With a binding, changes flow both ways. The parent updates the child, and the child can update the parent. Everything stays in sync.

A Binding in a Child

A child view declares a binding for the value it needs to mutate, marked with the @Binding property wrapper.

struct ChildView: View {
    @Binding var isOn: Bool
    var body: some View {
        Toggle("Lights", isOn: $isOn)
    }
}

SwiftUI Built on Bindings

You have used bindings already. Toggle, TextField, and Slider all take a binding so they can write back the value you change.

Why It Matters

Bindings let you split a big screen into small, focused child views without losing shared state. This keeps your code reusable. ✨

No Duplicate State

Never copy the same value into both parent and child as separate @State. That creates two truths that quietly disagree.

Single Source, Many Views

One value, many views editing it safely: that is the promise of @Binding. The next lessons show how to wire it up.

Quick Check

Quick check on shared state.

Recap: Sharing One Truth

A parent owns state; a child borrows it with @Binding for safe two-way edits. One source of truth keeps every view in sync. 🎉

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

Урок «Зачем дочерним представлениям нужен @Binding» бесплатный?

Да — полный текст урока «Зачем дочерним представлениям нужен @Binding» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SwiftUI Academy, подпишись на CoddyKit PRO. Курс SwiftUI Academy содержит 4 уроков всего.

Чему я научусь в уроке «Зачем дочерним представлениям нужен @Binding»?

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

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

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

Сколько времени занимает урок «Зачем дочерним представлениям нужен @Binding»?

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

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

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

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

  1. Зачем дочерним представлениям нужен @Binding
  2. Передача Binding вниз
  3. Создание переиспользуемой строки с переключателем
  4. @State и @Binding
← Назад к SwiftUI Academy