数据模型共9篇
使用 @Model 宏定义模型-Stewed Noodles 资源

使用 @Model 宏定义模型

您将使用 @Model 宏来定义所有 SwiftData 模型类。该宏会自动使您的类能够从 SwiftData 加载和存储数据,支持观察更改,并添加 Hashable、Identifiable、Observable 和 PersistentModel 的遵循...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri6个月前
070
@Attribute 宏定义属性-Stewed Noodles 资源

@Attribute 宏定义属性

框架默认的行为适用于大多数使用场景,能够有效管理模型类的存储属性。然而,如果您需要更改特定属性的持久化行为,可以使用 @Attribute 宏对其进行注解。例如,您可以通过指定某个属性的值在该...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri6个月前
0180
@Transient 宏忽略属性持久化-Stewed Noodles 资源

@Transient 宏忽略属性持久化

如果你的模型类有一个或多个存储属性,希望在写入持久化存储时忽略一些属性,可以使用 @Transient 宏进行标注,这样 SwiftData 就不会将它们的值写入磁盘。 默认情况下,SwiftData 会将所有计算...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri6个月前
090
一对一关系-Stewed Noodles 资源

一对一关系

一对一关系意味着每个 A对象都有一个对应的B对象,例如说每个人都有一本护照,或者每只宠物都有一个主人。 例如,如果我们有 Country 和 City 模型,它们之间有一个真正的一对一关系,那么在创...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri6个月前
060
一对多关系-Stewed Noodles 资源

一对多关系

一对多关系是 SwiftData 中最常见的关系类型,当关系的一方有一个数据数组,而另一方是可选时,会自动创建这种关系。 例如,我们可以说每个学生属于一个班级,而每个班级有很多学生 @Model clas...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri6个月前
050
多对多关系-Stewed Noodles 资源

多对多关系

在SwiftData 中,当关系的双方都使用数组时,就会创建多对多关系。这类关系相当常见,比如:一个老师有多个学生,一个学生可以有多个老师;一个演员参演了多部电影,一部电影也有许多演员参与;...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri6个月前
050
级联关系删除-Stewed Noodles 资源

级联关系删除

SwiftData 默认的关系删除规则是.nullify,这意味着如果一个 School 对象与多个 Student对象关联,删除 School 后,学生对象仍会保留在数据存储中。在某些情况下这是合理的,但你也可以使用.cas...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri6个月前
040
关系最大最小约束-Stewed Noodles 资源

关系最大最小约束

SwiftData 的 @Relationship 宏允许我们指定一对多或多对多连接中应存在的最小和最大对象数量。 超出这些限制时,SwiftData 的自动保存将静默失败,可能导致数据丢失,除非及时进行纠正。 例如...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri6个月前
030
模型迁移-Stewed Noodles 资源

模型迁移

当你更改数据模型时,SwiftData 可以自动处理模型更新,也可以通过手动干预进行复杂的迁移。 自动处理更新迁移 以下是一些常见的小修改,SwiftData 会自动处理这些模型更新: 添加一个或多个新...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri6个月前
070