SwiftUI 基础之@State @Binding @ObservedObject @EnvironmentObject区别

SwiftUI 基础之@State @Binding @ObservedObject @EnvironmentObject区别


相关含代码的教程


@State @Binding @ObservedObject 区别

  • @State和@ObservableObject之间有一些细微的差异。这些都是很重要的,因为它们都有不同的用途。首先,@State在视图本地。值或数据在视图中本地保存。它由框架管理,由于它存储在本地,因此它是一个值类型。但是@ObservableObject在视图外部,并且不存储在视图中。它是一种引用类型,因为它不在本地存储,而只是具有对该值的引用。这不是由框架自动管理的,而是开发人员的责任。这最适用于外部数据,例如数据库或由代码管理的模型。

  • @Binding也在视图内,但是与@State区别在于@Binding用于不通视图之间的参数传递。@Binding 和@ObservedObbjecg一样都是传递引用。

  • @EnvironmentObject 可以理解为全局变量
    具体细微差别,大家可以访问demo页面体验用途的不同。

image.png

技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470

更多SwiftUI教程和代码关注专栏

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容