我正在学习SwiftData,并希望使用它将我当前的应用程序转换为使用SwiftData.我正在try 构造一个SwiftDate查询,以便按日期对Items
的数组进行排序.Items
数组是主模型中的一个属性.我看到的所有示例都有一个Query,它使用第一级属性来排序(@Query(sort: \TaskItem.name) var tasks: [TaskItem]
),但我正在寻找一个Query来排序在第二级(TaskItems.items.date
).我在寻求帮助/方向.查看下面的模型
@Model
final class TaskItems {
@Attribute(.unique) var name: String
@Relationship(deleteRule: .cascade)
var items: [Item]?
init(name: String, items: [Item]? = nil) {
self.name = name
self.items = items
}
}
@Model
final class Item {
@Attribute(.unique) let id = UUID().uuidString
var tag: String
var date: Date
init(tag: String, date: Date) {
self.tag = tag
self.date = date
}
}
在我看来,我有主要的查询作为
@Query var taskItems: [TaskItems]
我试图显示Items
,这是TaskItems
的属性,按日期排序.
这是我try 的,我知道是不对的,不编译.
@Query(FetchDescriptor<Item>(sortBy: [SortDescriptor(\TaskItems.items.date, order: .forward)])) var items: [Item]
感谢任何指导/帮助