SwiftUI 基础之@State @Binding @ObservedObject @EnvironmentObject区别
相关含代码的教程
- SwiftUI 基础之@State 有什么用
- SwiftUI 基础之Toggle控件与@Binding属性装饰器(含代码demo)
- SwiftUI 基础之@ObservedObject 有什么用(含demo代码2020)
- SwiftUI 基础之@EnvironmentObject 不被苹果公开认可的全局变量
@State @Binding @ObservedObject 区别
@State和@ObservableObject之间有一些细微的差异。这些都是很重要的,因为它们都有不同的用途。首先,@State在视图本地。值或数据在视图中本地保存。它由框架管理,由于它存储在本地,因此它是一个值类型。但是@ObservableObject在视图外部,并且不存储在视图中。它是一种引用类型,因为它不在本地存储,而只是具有对该值的引用。这不是由框架自动管理的,而是开发人员的责任。这最适用于外部数据,例如数据库或由代码管理的模型。
@Binding也在视图内,但是与@State区别在于@Binding用于不通视图之间的参数传递。@Binding 和@ObservedObbjecg一样都是传递引用。
@EnvironmentObject 可以理解为全局变量
具体细微差别,大家可以访问demo页面体验用途的不同。
技术交流
QQ:3365059189
SwiftUI技术交流QQ群:518696470
更多SwiftUI教程和代码关注专栏
- 请关注我的专栏 SwiftUI教程与源码