---
title: "applySnapshotUsingReloadData(_:completion:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uitableviewdiffabledatasource-2euir/applysnapshotusingreloaddata(_:completion:)"
---

# applySnapshotUsingReloadData(_:completion:)

Resets the UI to reflect the state of the data in the snapshot without computing a diff or animating the changes, optionally executing a completion handler.

## Declaration

```swift
@MainActor @preconcurrency func applySnapshotUsingReloadData(_ snapshot: NSDiffableDataSourceSnapshot<SectionIdentifierType, ItemIdentifierType>, completion: (() -> Void)? = nil)
```

## Parameters

- `snapshot`: The snapshot that reflects the new state of the data in the table view.
- `completion`: A closure to execute when the reload completes. This closure has no return value and takes no parameters. The system calls this closure from the main queue.

## Discussion

Discussion The system interrupts any ongoing item animations and immediately reloads the table view’s content. You can safely call this method from a background queue, but you must do so consistently in your app. Always call this method exclusively from the main queue or from a background queue.

## See Also

### Updating data

- [snapshot()](uikit/uitableviewdiffabledatasource-2euir/snapshot().md)
- [apply(_:animatingDifferences:)](uikit/uitableviewdiffabledatasource-2euir/apply(_:animatingdifferences:).md)
- [apply(_:animatingDifferences:completion:)](uikit/uitableviewdiffabledatasource-2euir/apply(_:animatingdifferences:completion:).md)
- [applySnapshotUsingReloadData(_:)](uikit/uitableviewdiffabledatasource-2euir/applysnapshotusingreloaddata(_:).md)
- [defaultRowAnimation](uikit/uitableviewdiffabledatasource-2euir/defaultrowanimation.md)
