<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 14.0.0 -",
    "swift: 5.9.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftData",
  "identifier" : "/documentation/SwiftData/ModelContext/delete(_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "SwiftData"
    ],
    "preciseIdentifier" : "s:9SwiftData12ModelContextC6deleteyyxAA010PersistentC0RzlF"
  },
  "title" : "delete(_:)"
}
-->

# delete(_:)

Removes the specified model from the persistent storage during the next save
operation.

```
func delete<T>(_ model: T) where T : PersistentModel
```

## Parameters

`model`

The persistent model to delete.

## Discussion

When the context nexts commits its changes, SwiftData removes the model from
the persistent storage. If the model is new and in an unsaved state, the
context simply discards it.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)