从Swift中删除CoreData中的实体

从Swift中删除CoreData中的实体,swift,core-data,Swift,Core Data,我是Swift的新手,我想从Swift中删除我在CoreData中的学生。我已将其编码为: let fetchRequest: FetchRequest<Student> = FetchRequest(entity: Student.entity(), sortDescriptors: []) var students: FetchedResults<Student> { fetchRequest.wrappedValue } for student in student

我是Swift的新手,我想从Swift中删除我在CoreData中的学生。我已将其编码为:

let fetchRequest: FetchRequest<Student> = FetchRequest(entity: Student.entity(), sortDescriptors: [])
var students: FetchedResults<Student> { fetchRequest.wrappedValue }
for student in students {
  do {
    try self.managedObjectContext.delete(student)
  } catch {
    print("error")
  }
}
让fetchRequest:fetchRequest=fetchRequest(实体:Student.entity(),排序描述符:[])
var学生:FetchedResults{fetchRequest.wrappedValue}
以学生为中心{
做{
尝试self.managedObjectContext.delete(学生)
}抓住{
打印(“错误”)
}
}
但是它在运行时崩溃了,说我在初始化students变量的行上有一条EXC_BAD_指令。我该怎么做才能使这个程序正确

谢谢你的帮助,
Francois

要对
NSManagedObject
FetchedResults
执行从
CoreData
删除,请执行以下代码:

@Environment(\.managedObjectContext)var managedObjectContext
@获取请求(
实体:Student.entity(),
sortDescriptors:[]
)var学生:获取结果
func deleteAllStudents(){
以学生为中心{
managedObjectContext.delete(学生)
}
做{
请尝试managedObjectContext.save()
}抓住{
//处理核心数据错误
}
}
如果只想删除少数条目,请使用以下方法:

func removeStudents(在offset:IndexSet处){//也可以使用[Student]。
对于偏移量中的索引{
让学生=学生[索引]
managedObjectContext.delete(学生)
}
//保存上下文。。。
}

如果我键入
var students:FetchedResults=self.managedObjectContext.executeFetchRequest(fetchRequest)
,我会收到一条错误消息
无法转换“[Any]类型的值”'到指定的类型'FetchedResults'
无法将'FetchRequest'类型的值转换为预期的参数类型'NSFetchRequest'
这是否回答了您的问题?