<!--
{
  "availability" : [
    "iOS: 2.0.0 -",
    "iPadOS: 2.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UITableView/reloadData()",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UITableView(im)reloadData"
  },
  "title" : "reloadData()"
}
-->

# reloadData()

Reloads the rows and sections of the table view.

```
func reloadData()
```

## Discussion

Call this method to reload all the data that’s used to construct the table, including cells, section headers and footers, index arrays, and so on. For efficiency, the table view redisplays only those rows that are visible. It adjusts offsets if the table shrinks as a result of the reload. The table view’s delegate or data source calls this method when it wants the table view to completely reload its data. It shouldn’t be called in the methods that insert or delete rows, especially within an animation block implemented with calls to [`beginUpdates()`](/documentation/UIKit/UITableView/beginUpdates()) and [`endUpdates()`](/documentation/UIKit/UITableView/endUpdates()).

> Important:
> Don’t call this method when the ``doc://com.apple.uikit/documentation/UIKit/UITableView/hasUncommittedUpdates`` property is <doc://com.apple.documentation/documentation/Swift/true>. Doing so forces the table view to delete any uncommitted changes before reloading the data.

---

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)