onevcat / OneV-s-Den-Comments

0 stars 0 forks source link

2023/08/observation-framework/ #49

Open utterances-bot opened 1 year ago

utterances-bot commented 1 year ago

深入理解 Observation - 原理,back porting 和性能 | OneV's Den

SwiftUI 遵循 Single Source of Truth 的原则,只有修改 View 所订阅的状态,才能改变 view tree 并触发对 body 的重新求值,进而刷新 UI。最初发布时,SwiftUI 提供了 @State、@ObservedObject 和 @EnvironmentObject 等属性包装器进行状态管理。在 iOS 14 中,Apple 添加了 @StateObject,它补全了 View 中持有引用类型实例的情况,使得

https://onevcat.com/2023/08/observation-framework/

yeatse commented 1 year ago

总结重复了两遍

onevcat commented 1 year ago

@yeatse 感谢...想加一条的时候忘记删掉原来的了!

nuomi1 commented 1 year ago

今年确实是再一次重新入门……

dubiao commented 1 year ago

感谢你实现的 ObservationBP ,在将来我的某个项目上一会大有帮助的。

苹果一直以来无视这种肆意地不管旧版本带给开发者的痛苦的这种行为,让人非常不爽和非常不能理解。 但这竟然丝毫没有阻止苹果新技术的全面推广和普及(指SwiftUI 和 新Swift)。在刚发布时,不管旧版本的确可以减少很多为了兼容而带来的技术问题,但觉得现在应该是时候不那么拽了。天下开发者苦于此久矣。 如果交给谷歌开发 SwiftUI,他能给你干到兼容 iOS8,或者至少能让 Observation (和其它基础技术)兼容到 iOS13/14

akring commented 1 year ago

好文共赏

xuhaoranLeo commented 1 year ago

仔细读了三遍,收获很多。另外ObservationBP的出现确实很及时,毕竟看了Observation的功能后,再去写ObservableObject太痛苦了。

CreatorMetaSky commented 1 year ago

值得细品的一篇文章,Water - 也采用了类似的机制,底层正在改用 Observation 来实现

moekyo commented 1 year ago

只等 《SwiftUI 与 Combine 编程》新版了

jerrywossion commented 1 year ago

好文感谢分享!

这里是不是应该是 5.9?

在当前条件下,我们不可能做到 SwiftUI 5.0 那样透明和无缝利用 Observation。

另外TCA 最近在充分利用 Observation 废弃 ViewStore,他们应该会用某种手段向后兼容,类似于文中提到的方式或者自己实现 Observable 能力。

onevcat commented 1 year ago

@jerrywossion 这里是按照 SwiftUI 的“版本”来算的 5.0,确实会有点歧义。

关于 TCA,感谢分享。如果可能的话可以把相关的讨论链接往这边贴一下么?也方便读者进行参考。(实在惭愧,我自己好像没有搜索到...XD)

jerrywossion commented 1 year ago

TCA 的讨论见这里:RFC: Add Store.send and Store.withState

目前是慢慢把一些 ViewStore 的 API 在 Store 上开放,比如 state(通过 withState)、sendpublisher 等。

LJ8116 commented 1 year ago

请问objccn还能登录吗? 之前买的swift书想再下载一下,输入邮箱之后提示发送了邮件,可是没有邮件

LJ8116 commented 1 year ago

联系客服更改了邮箱,大佬不用关注了

sunyazhou13 commented 11 months ago

哈哈 iOS17小组件上 我直接上了这个 没有包袱 也不用考虑向下兼容

douxinchun commented 11 months ago

Single Source of Truth, 这词有啥合适中文吗?

onevcat commented 11 months ago

Single Source of Truth, 这词有啥合适中文吗?

非要翻译的话,可能“唯一真实来源”吧?

Rex-xingjl commented 10 months ago

老哥 用你的代码在主工程+localpods这种开发模式中 没有找到可以让local pods响应的办法 这种情况下该怎么做

dorasans commented 10 months ago

123

Mioke commented 6 months ago

@dubiao 得了吧,Compose 也一堆兼容问题,你有用过吗?

Xcode123456 commented 4 months ago

哈喽大佬,本人英语不好,有没有好的针对combine和swiftUi的文章可以推荐呀😂