这是由于swiftUI Foreach的onDelete的方法没有兼容上面所述的情况造成的
目前可以使用的的解决办法是这样的:
viewContext.perform { offsets.map { molts[$0] }.forEach(viewContext.delete) do { try viewContext.save() } catch { viewContext.rollback() userMessage = "\(error): \(error.localizedDescription)" displayMessage.toggle() } }在你的操作方法外,再套一层,调用
viewContext.perform
即可