@ObservedObject в SwiftUI.@ObservedObject — это property wrapper, который позволяет подписываться на изменения внешнего объекта данных и автоматически обновлять View при их изменении.🤔 Как использовать:
♣️ Создаем ObservableObject:
class Counter: ObservableObject {
@Published var value = 0
}
♣️ Передаем объект в View (через инициализатор):
struct CounterView: View {
@ObservedObject var counter: Counter
var body: some View {
Button("+1") { counter.value += 1 }
Text("Значение: \(counter.value)")
}
}
♣️ Используем в родительском View:
struct ParentView: View {
@StateObject private var counter = Counter()
var body: some View {
CounterView(counter: counter)
}
}
⚠️ Ключевые особенности:
🔸 Автоматическое обновление: View перерисовывается при изменении
@Published свойств.🔸 Локальная область видимости: работает только для конкретного View, куда передан объект.
🔸 Гибкость: можно передавать между View как обычное свойство.
💡 Для глобальных данных лучше использовать
@EnvironmentObject.➡️ Подписаться на канал
Мобильный трудоголик