我有一个MessagesView,可以在其中创建和删除消息。 作为指导和示例,我使用启用了CoreData en Cloud-kit的Xcode Master-Detail App模板和WWDS视频Using Core Data With CloudKit
struct TeamsManagerView : View {
@FetchRequest(
sortDescriptors: [NSSortDescriptor(keyPath: \Message.team, ascending: true)],
animation: .default)
var messages: FetchedResults<Message>
@Environment(\.managedObjectContext)
var viewContext
var body: some View {
VStack {
List {
ForEach(messages, id: \.self) { message in
Text(message.text)
}
.onDelete(perform: delete)
}
}
…
一切正常,我可以添加和删除邮件。 我如何获得特定团队的信息? “ Message.team” sortDescriptor向我显示了所有团队的所有消息
答案 0 :(得分:0)
您必须在您的@FetchRequest中插入一个谓词以分隔您的特殊团队的结果。 NSPredicate(format:“ name ==%@”,“ TeamName”)在您的情况下,您可以展开@FetchResult以查看团队的消息:
@FetchRequest(
sortDescriptors: [NSSortDescriptor(keyPath: \Message.team, ascending: true)],
predicate: NSPredicate(format: "name == %@", "YourSpecialTeam"),
animation:.default)
var messages: FetchedResults<Message>