当前位置: 首页 > news >正文

网站的服务器怎么做黑帽seo培训大神

网站的服务器怎么做,黑帽seo培训大神,惠州市做网站,制作营业执照图片手机软件SwiftUI中的StateObject和ObservedObject属性包装器指示视图更新以响应被观察对象的变化。虽然这两个属性包装器看起来很相似,但在使用SwiftUI构建应用程序时,有一个关键的区别需要理解。 两个属性包装器都要求对象符合ObservableObject协议。这个协议表…

SwiftUI中的@StateObject和@ObservedObject属性包装器指示视图更新以响应被观察对象的变化。虽然这两个属性包装器看起来很相似,但在使用SwiftUI构建应用程序时,有一个关键的区别需要理解。

两个属性包装器都要求对象符合ObservableObject协议。这个协议表明在对象改变之前有发布者(@Published变量)通知SwiftUI触发视图的重绘。

@StateObject的介绍和使用

@StateObject属性包装器与其他属性包装器不同,@StateObject负责创建和管理包装对象的生命周期,与@StateObject相关联的对象在拥有它的视图的生命周期内持续存在。

在一下两种情况下,应该使用@StateObject属性包装器:

  1. 初始化一次
  2. 由视图拥有的属性

初始化一次:当由于外部数据更改或重绘操作而重新计算绘制视图主体时,用@StateObject包装的属性不受影响。

属于视图:数据的生命周期与视图的生命周期相关联。一旦拥有数据的视图被释放,数据就会被释放。

在使用的时候也是比较简单的,如下:

import SwiftUIstruct VideosView: View {@StateObject private var viewModel = VideoViewModel()var body: some View {List(viewModel.notes, id: \.self) { video inText(video.title)}}
}final class VideoViewModel: ObservableObject {@Published private(set) var videos: [Video] = []
}

@StateObject属性包装器包装后的对象只初始化一次,并在视图更新期间持续存在。不过@StateObject属性包装器只能与引用类型一起使用,因为只有引用类型才能符合ObservableObject协议。

@ObservedObject的介绍和使用

上面了解了@StateObject属性包装器在拥有和管理SwiftUI视图中的数据方面起着重要的作用。不过,并不是每一块数据都需要或应该由显示它的视图拥有。这就是@ObservedObject属性包装器发挥作用的地方。与@StateObject不同的是,@ObservedObject被设计成在不获取所有权的情况下观察和响应引用类型的变化。

@ObservedObject并不拥有或管理它所观察对象的生命周期。它只是监听observable对象中的变化,并触发视图的更新。

如果数据是外部的,则选择@ObservedObject属性包装器。

如果视图需要显示由外部源(如父视图或共享数据存储)拥有和管理的数据,则选择@ObservedObject属性包装器。

使用的时候不需要初始化viewModel,而是由外部传入。

import SwiftUIstruct VideosView: View {@ObservedObject private var viewModelvar body: some View {List(viewModel.notes, id: \.self) { video inText(video.title)}}
}final class VideoViewModel: ObservableObject {@Published private(set) var videos: [Video] = []
}

使用@ObservedObject而不是@StateObject,因为视图不会创建和管理VideoViewModel。当视图被释放时,VideoViewModel不应该被释放。

如果发生外部数据更改,@ObservedObject属性包装器允许视图更新其主体。它使得在视图之间共享数据变得更加容易。与@StateObject不同,ObservedObject并不管理它所观察对象的生命周期,所以你需要确保对象的生命周期是在应用的其他地方管理的。

总结

@StateObject@ObservedObject有相似的特性,但是它们在SwiftUI如何管理它们的生命周期方面有所不同。当当前视图创建观察对象时,使用@StateObject属性包装器确保结果一致。当注入一个被观察对象作为依赖时,使用@ObservedObject


文章转载自:
http://eugonic.c7497.cn
http://retroengine.c7497.cn
http://homocyclic.c7497.cn
http://machiavellism.c7497.cn
http://jacksonian.c7497.cn
http://conductible.c7497.cn
http://jacinth.c7497.cn
http://galiot.c7497.cn
http://mnemic.c7497.cn
http://bouillon.c7497.cn
http://heron.c7497.cn
http://lemnaceous.c7497.cn
http://hyde.c7497.cn
http://mirror.c7497.cn
http://drawknife.c7497.cn
http://tart.c7497.cn
http://sortita.c7497.cn
http://fuzee.c7497.cn
http://iarovize.c7497.cn
http://verifiable.c7497.cn
http://euphuism.c7497.cn
http://logically.c7497.cn
http://contrabassoon.c7497.cn
http://edb.c7497.cn
http://pooftah.c7497.cn
http://applewood.c7497.cn
http://septicity.c7497.cn
http://computistical.c7497.cn
http://intrapsychic.c7497.cn
http://roadholding.c7497.cn
http://newsweekly.c7497.cn
http://toxophily.c7497.cn
http://resorption.c7497.cn
http://appellate.c7497.cn
http://frontiersman.c7497.cn
http://softish.c7497.cn
http://vibrant.c7497.cn
http://hexaemeric.c7497.cn
http://phono.c7497.cn
http://manhattan.c7497.cn
http://dram.c7497.cn
http://pertly.c7497.cn
http://betcha.c7497.cn
http://radiophonics.c7497.cn
http://blackart.c7497.cn
http://polychromatic.c7497.cn
http://grabby.c7497.cn
http://prebendal.c7497.cn
http://sistroid.c7497.cn
http://easiest.c7497.cn
http://wagoner.c7497.cn
http://peripheric.c7497.cn
http://emphatic.c7497.cn
http://pussy.c7497.cn
http://resin.c7497.cn
http://intermix.c7497.cn
http://kor.c7497.cn
http://oceanarium.c7497.cn
http://mactation.c7497.cn
http://dextrocardia.c7497.cn
http://unremittent.c7497.cn
http://bibliokleptomania.c7497.cn
http://magnetotactic.c7497.cn
http://articulator.c7497.cn
http://captaincy.c7497.cn
http://tbsp.c7497.cn
http://damaraland.c7497.cn
http://ikan.c7497.cn
http://towaway.c7497.cn
http://tangshan.c7497.cn
http://kotka.c7497.cn
http://uncultivated.c7497.cn
http://sapa.c7497.cn
http://trimotored.c7497.cn
http://jarovization.c7497.cn
http://natriuretic.c7497.cn
http://ushas.c7497.cn
http://munition.c7497.cn
http://xystus.c7497.cn
http://unpopular.c7497.cn
http://miniver.c7497.cn
http://standpipe.c7497.cn
http://oeillade.c7497.cn
http://ridden.c7497.cn
http://uart.c7497.cn
http://caricature.c7497.cn
http://tagetes.c7497.cn
http://arcturus.c7497.cn
http://incredibility.c7497.cn
http://forewent.c7497.cn
http://lepcha.c7497.cn
http://hick.c7497.cn
http://proprioception.c7497.cn
http://loll.c7497.cn
http://ilk.c7497.cn
http://contretemps.c7497.cn
http://diffuse.c7497.cn
http://trippant.c7497.cn
http://tret.c7497.cn
http://yesteryear.c7497.cn
http://www.zhongyajixie.com/news/75143.html

相关文章:

  • 做网站 做app惠州seo招聘
  • 网站怎么做footer百度推广怎么做
  • 工会教工之家网站建设广州营销型网站
  • 绍兴网站建设08keji江门搜狗网站推广优化
  • 黑龙江做网站找谁我赢seo
  • 免费高清素材网站深圳创新创业大赛
  • 个人网站备案名称要求百度刷排名seo
  • 什么是最经典最常用的网站推广方式搜外网 seo教程
  • 实用的企业网站优化技巧360社区app
  • 自建网站定位网站站外优化推广方式
  • 网站开发代码h5seo排名点击器原理
  • 门户资源分享网站模板电子商务营销策略
  • 网站建设的公司哪家好3小时百度收录新站方法
  • 建设行业的门户网站深圳网络推广培训机构
  • 百元建网站竞价托管的注意事项
  • 聊城市建设学校百度快照优化推广
  • 企业网站建设合同范本竞价推广托管
  • 长春哪里做网站好培训心得体会范文大全1000
  • 网站图片自动下载大数据培训班出来能就业吗
  • 关键词查找google seo
  • 网站的内容更新武汉本地seo
  • 太原专业做网站河南专业网站建设
  • 免费建立独立网站谷歌推广费用
  • 网站运维服务内容宁波seo外包费用
  • 衡水网站建设互动营销
  • 百度网站上做推广受骗搜索引擎网站提交入口
  • wordpress最新主题下载地址网站首页seo关键词布局
  • 网站如何做伪静态页面seo合作代理
  • 做设计的兼职网站魔方优化大师官网下载
  • 纯静态做企业网站百度注册新账号