用途:为使用 SwiftData 的 macOS/iOS 应用提供持久化模式参考,覆盖模型定义、继承建模、查询与容器配置。
主要能力:@Model 类定义模型(仅类,struct 不可),@Attribute(.preserveValueOnDeletion) 与 @Relationship(deleteRule:inverse:) 配置属性与关系;类继承时基类与子类都需 @Model;用 @Query 及 #Predicate<ModelType> 宏查询,支持按子类类型或子类属性过滤(如 $0 is BusinessTrip)。
用法:应用入口通过 .modelContainer(for: [Trip.self, BusinessTrip.self, PersonalTrip.self]) 注册模型,也可用 ModelConfiguration("MyStore", isStoredInMemoryOnly: false) 自定义容器。CRUD 使用 modelContext.insert/delete/fetch 与 FetchDescriptor,属性改动自动保存,也可 try modelContext.save()。
限制与约定:不使用 Core Data 语法(NSManagedObject、NSFetchRequest、NSPredicate),不用 @FetchRequest,不用字符串谓词,不建 NSPersistentContainer;关系需显式 inverse,子类须一并注册到容器。系统版本要求、性能数据与许可信息暂未提供。