@Transient 宏忽略属性持久化
如果你的模型类有一个或多个存储属性,希望在写入持久化存储时忽略一些属性,可以使用 @Transient 宏进行标注,这样 SwiftData 就不会将它们的值写入磁盘。 默认情况下,SwiftData 会将所有计算...
@Attribute 宏定义属性
框架默认的行为适用于大多数使用场景,能够有效管理模型类的存储属性。然而,如果您需要更改特定属性的持久化行为,可以使用 @Attribute 宏对其进行注解。例如,您可以通过指定某个属性的值在该...
使用 @Model 宏定义模型
您将使用 @Model 宏来定义所有 SwiftData 模型类。该宏会自动使您的类能够从 SwiftData 加载和存储数据,支持观察更改,并添加 Hashable、Identifiable、Observable 和 PersistentModel 的遵循...
如何使用 matchedGeometryEffect() 将一个视图的动画同步到另一个视图
如果你在视图层次结构的两个不同部分中有相同的视图,并且希望在这两者之间进行动画过渡——例如,从列表视图切换到放大的详细视图——那么你应该使用 SwiftUI 的 matchedGeometryEffect() 修饰...
Widget 的 Container Background
Widget 的 Container Background(容器背景) 是在 iOS 17 中引入的。在 Widget 的开发过程中,可能会在预览中遇到如下的错误 Widget needs to adopt container background. 容器背景用途 iOS 1...