WWDC 2023 上推出的 Observation 框架 使用 @Observable @State 和 @Bindable 三个宏来定义 Swift 的数据模型 目的是简化代码及优化性能。 https://developer.apple.com/documentation/swiftui/migrating-from-the-observable-object-protocol-to-the-observable-macro 但是我一看,好家伙最低支持版本 iOS 17.0 所以这里就有两个问题: [ol]为什么苹果不做向后兼容?这个技术上很难吗?有着如此高的版本要求,你会使用 Observation 框架吗?还是说保持原本的 ObservableObject ? [/ol]
1. 技术上不难。但是苹果并不希望你使用旧版,因为你使用旧版,就不会有升级硬件的冲动。 2. 目前还没有使用。因为还需要支持旧版。大概明后年会支持。因为我一般只会支持最近的 2-3 个版本。 这个和 ObservableObject 相比,优势是具有更细的粒度。可以减少不必要的界面刷新。