---
title: "controllerWillChangeContent(_:)"
framework: coredata
role: symbol
role_heading: Instance Method
path: "coredata/nsfetchedresultscontrollerdelegate/controllerwillchangecontent(_:)"
---

# controllerWillChangeContent(_:)

Notifies the receiver that the fetched results controller is about to start processing of one or more changes due to an add, remove, move, or update.

## Declaration

```swift
optional func controllerWillChangeContent(_ controller: NSFetchedResultsController<any NSFetchRequestResult>)
```

## Parameters

- `controller`: The fetched results controller that sent the message.

## Discussion

Discussion This method is invoked before all invocations of controller(_:didChange:at:for:newIndexPath:) and controller(_:didChange:atSectionIndex:for:) have been sent for a given change event (such as the controller receiving a NSManagedObjectContextDidSave notification).

## See Also

### Related Documentation

- [Core Data Programming Guide](apple-archive/documentation/Cocoa/Conceptual/CoreData.md)

### Responding to Changes

- [controller(_:didChangeContentWith:)](coredata/nsfetchedresultscontrollerdelegate/controller(_:didchangecontentwith:)-4kezq.md)
- [controller(_:didChangeContentWith:)](coredata/nsfetchedresultscontrollerdelegate/controller(_:didchangecontentwith:)-5ullb.md)
- [controller(_:didChange:at:for:newIndexPath:)](coredata/nsfetchedresultscontrollerdelegate/controller(_:didchange:at:for:newindexpath:).md)
- [controller(_:didChange:atSectionIndex:for:)](coredata/nsfetchedresultscontrollerdelegate/controller(_:didchange:atsectionindex:for:).md)
- [controllerDidChangeContent(_:)](coredata/nsfetchedresultscontrollerdelegate/controllerdidchangecontent(_:).md)
