SwiftUI 中状态的几对

40 阅读1分钟

State 和 Binding:对于视图的本地状态或在一些紧密联系的视图之间共享的状态,State 和 Binding 是您的首选工具。 State 是一个属性包装器,用于表示视图中的事实来源。它保存视图的本地数据,SwiftUI 自动观察状态更改以重绘视图。 另一方面,Binding 在存储在当前视图数据中的变量之间创建双向连接,并修改其父视图状态中的某些值。

ObservedObject 和 ObservableObject:对于需要在多个视图之间共享或需要存储在传统 SwiftUI 视图之外的状态,ObservableObject 协议及其朋友 ObservedObject 就可以发挥作用。 ObservableObject 是一个协议,当您想要与 SwiftUI 视图建立反应式连接时,可以在类中使用它。