---
title: prepareForDeletion()
framework: coredata
role: symbol
role_heading: Instance Method
path: coredata/nsmanagedobject/preparefordeletion()
---

# prepareForDeletion()

Provides an opportunity to add code into the life cycle of the managed object before deleting it.

## Declaration

```swift
func prepareForDeletion()
```

## Discussion

Discussion You can implement this method to perform any operations required before the object is deleted, such as custom propagation before relationships are torn down, or reconfiguration of objects using key-value observing.

## See Also

### Managing Change Events

- [contextShouldIgnoreUnmodeledPropertyChanges](coredata/nsmanagedobject/contextshouldignoreunmodeledpropertychanges.md)
- [awakeFromFetch()](coredata/nsmanagedobject/awakefromfetch().md)
- [awakeFromInsert()](coredata/nsmanagedobject/awakefrominsert().md)
- [awake(fromSnapshotEvents:)](coredata/nsmanagedobject/awake(fromsnapshotevents:).md)
- [changedValues()](coredata/nsmanagedobject/changedvalues().md)
- [changedValuesForCurrentEvent()](coredata/nsmanagedobject/changedvaluesforcurrentevent().md)
- [committedValues(forKeys:)](coredata/nsmanagedobject/committedvalues(forkeys:).md)
- [willSave()](coredata/nsmanagedobject/willsave().md)
- [didSave()](coredata/nsmanagedobject/didsave().md)
- [willTurnIntoFault()](coredata/nsmanagedobject/willturnintofault().md)
- [didTurnIntoFault()](coredata/nsmanagedobject/didturnintofault().md)
- [fetchRequest()](coredata/nsmanagedobject/fetchrequest().md)
