Найти в Дзене

Что такое @State в SwiftUI?

@State — это property wrapper (обертка свойства), которая позволяет хранить и отслеживать изменяемые данные внутри View. Когда значение @State меняется, SwiftUI автоматически перерисовывает представление, чтобы отразить обновленные данные. ✍️ Особенности: 🔸 Для простых значений: используется для примитивов (Int, String, Bool) и структур (Struct). 🔸 Локальное хранение: данные живут только внутри этой View и не предназначены для передачи в другие экраны. 🔸 Автоматическое обновление: при изменении значения SwiftUI пересоздает View (но сохраняет состояние). struct MyView: View { @State private var value = 0 // Значение, которое может меняться var body: some View { Button("Нажато: \(value)") { value += 1 // Изменение @State перерисует кнопку } } } 🤔 Когда использовать? 🔹 Для внутреннего состояния View (чекбоксы, текст поля, флаги). 🔹 Если данные не нужно передавать в другие View (иначе используйте @Binding или @ObservedObject). ⚠️ Важно: 🔸 Всегда помечайте @State как private. 🔸 Не

@State — это property wrapper (обертка свойства), которая позволяет хранить и отслеживать изменяемые данные внутри View. Когда значение @State меняется, SwiftUI автоматически перерисовывает представление, чтобы отразить обновленные данные.

✍️ Особенности:

🔸 Для простых значений: используется для примитивов (Int, String, Bool) и структур (Struct).

🔸 Локальное хранение: данные живут только внутри этой View и не предназначены для передачи в другие экраны.

🔸 Автоматическое обновление: при изменении значения SwiftUI пересоздает View (но сохраняет состояние).

struct MyView: View {
@State private var value = 0 // Значение, которое может меняться
var body: some View {
Button("Нажато: \(value)") {
value += 1 // Изменение @State перерисует кнопку
}
}
}

🤔 Когда использовать?

🔹 Для внутреннего состояния View (чекбоксы, текст поля, флаги).

🔹 Если данные не нужно передавать в другие View (иначе используйте @Binding или @ObservedObject).

⚠️ Важно:

🔸 Всегда помечайте @State как private.

🔸 Не используйте для сложных объектов (для этого есть @StateObject).

🚀 @State — это основа реактивности в SwiftUI!

👨‍💻 Подписаться мой Telegram канал:

Мобильный трудоголик 🍏