изменяется правильно, но представление не обновляется; если класс A добавит @Observable, представление будет обновляться нормально
У меня 2 вопроса:
При текущем дизайне и классе A не используется @Observable, как правильно обновить представление? Если нет, то как его спроектировать? Предпосылка заключается в том, что класс A не может использовать @Observable, поскольку класс A не только обслуживает представление, класс @Observable BStore эквивалентен агенту класса A, обслуживающем только представления
наследует класс A и имеет все его свойства и методы и использует @Observable, но почему свойства родительского класса bStore не отслеживаются на предмет изменений, в результате чего представление не изменяется?
@Observable class BStore: A { // nothing } [/code] Это вид [code]struct ContentView: View { @State private var bStore = BStore()
var body: some View { CountView() .environment(bStore) } }
struct CountView: View { @Environment(BStore.self) private var bStore
var body: some View { Text("count: \(bStore.p)") .onTapGesture(perform: { bStore.update() }) } } [/code] [code]bStore.p[/code] изменяется правильно, но представление не обновляется; если класс A добавит @Observable, представление будет обновляться нормально У меня 2 вопроса: [list] [*]При текущем дизайне и классе A не используется @Observable, как правильно обновить представление? Если нет, то как его спроектировать? Предпосылка заключается в том, что класс A не может использовать @Observable, поскольку класс A не только обслуживает представление, класс @Observable BStore эквивалентен агенту класса A, обслуживающем только представления
[*][code]bStore[/code] наследует класс A и имеет все его свойства и методы и использует @Observable, но почему свойства родительского класса bStore не отслеживаются на предмет изменений, в результате чего представление не изменяется?