在Swift中,可以使用@ObservedObject或@StateObject属性包装器来声明遵循ObservableObject协议的任何一个类类型的变量。\n\n@ObservedObject属性包装器用于在视图中使用遵循ObservableObject协议的类实例。它会自动监视对象的状态变化,并在变化时更新视图。\n\n例如,假设有一个遵循ObservableObject协议的类Person:\n\n\nclass Person: ObservableObject {\n @Published var name: String = ""\n @Published var age: Int = 0\n}\n\n\n然后,在视图中声明一个遵循ObservableObject协议的Person实例变量:\n\n\nstruct ContentView: View {\n @ObservedObject var person = Person()\n\n var body: some View {\n // 使用person变量进行视图布局和操作\n }\n}\n\n\n@StateObject属性包装器用于在声明周期较长的地方使用遵循ObservableObject协议的类实例,比如在一个父视图中,以便在子视图之间共享该实例。\n\n\nstruct ContentView: View {\n @StateObject var person = Person()\n\n var body: some View {\n // 使用person变量进行视图布局和操作\n }\n}\n\n\n这些属性包装器都可以确保视图在对象发生变化时及时更新,以便正确显示最新的数据。

Swift中如何声明ObservableObject协议类变量:@ObservedObject和@StateObject

原文地址: https://www.cveoy.top/t/topic/pNGW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录