Back to questions
Junior — Middle
80
Каким образом осуществляется передача данных в дочерние компоненты внутри иерархии в SwiftUI?
Answer from AI
sobes.tech AI
В SwiftUI передача данных в дочерние компоненты обычно осуществляется через свойства, передаваемые в инициализатор дочернего View. Это может быть простое значение или привязка (Binding), если дочерний компонент должен изменять данные.
Пример передачи значения:
struct ParentView: View {
let title = "Привет, SwiftUI!"
var body: some View {
ChildView(text: title)
}
}
struct ChildView: View {
let text: String
var body: some View {
Text(text)
}
}
Если нужно, чтобы дочерний компонент мог изменять данные, используется @Binding:
struct ParentView: View {
@State private var isOn = false
var body: some View {
ToggleView(isOn: $isOn)
}
}
struct ToggleView: View {
@Binding var isOn: Bool
var body: some View {
Toggle("Включить", isOn: $isOn)
}
}
Таким образом, данные передаются сверху вниз через параметры, а изменения могут передаваться обратно через биндинги.