---
title: "controller(_:didChangeContentWith:)"
framework: coredata
role: symbol
role_heading: Instance Method
path: "coredata/nsfetchedresultscontrollerdelegate/controller(_:didchangecontentwith:)-4kezq"
---

# controller(_:didChangeContentWith:)

Notifies the receiver about changes to the content in the fetched results controller, by using a diffable data source snapshot.

## Declaration

```swift
optional func controller(_ controller: NSFetchedResultsController<any NSFetchRequestResult>, didChangeContentWith snapshot: NSDiffableDataSourceSnapshot)
```

## Discussion

Discussion To apply the changes, call applySnapshot(_:animatingDifferences:) on the collection or table view’s data source. If this method is implemented, no other delegate methods are invoked.

## See Also

### Responding to Changes

- [controller(_:didChangeContentWith:)](coredata/nsfetchedresultscontrollerdelegate/controller(_:didchangecontentwith:)-5ullb.md)
- [controllerWillChangeContent(_:)](coredata/nsfetchedresultscontrollerdelegate/controllerwillchangecontent(_:).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)
