<!--
{
  "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/insertRows(at:with:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UITableView(im)insertRowsAtIndexPaths:withRowAnimation:"
  },
  "title" : "insertRows(at:with:)"
}
-->

# insertRows(at:with:)

Inserts rows in the table view at the locations that an array of index paths identifies, with an option to animate the insertion.

```
func insertRows(at indexPaths: [IndexPath], with animation: UITableView.RowAnimation)
```

## Parameters

`indexPaths`

An array of index path objects, each representing a row index and section index that together identify a row in the table view.

`animation`

A constant that either specifies the kind of animation to perform when inserting the cell or requests no animation. See [`UITableView.RowAnimation`](/documentation/UIKit/UITableView/RowAnimation) for descriptions of the constants.

## Discussion

`UITableView` calls the relevant delegate and data source methods immediately afterward to get the cells and other content for visible cells.

When this method is called in an animation block defined by the [`beginUpdates()`](/documentation/UIKit/UITableView/beginUpdates()) and [`endUpdates()`](/documentation/UIKit/UITableView/endUpdates()) methods, `UITableView` defers any insertions of rows or sections until after it has handled the deletions of rows or sections. This order is followed regardless of how the insertion and deletion method calls are ordered. This is unlike inserting or removing an item in a mutable array, in which the operation can affect the array index used for the successive insertion or removal operation. For more on this subject, see [Batch Insertion, Deletion, and Reloading of Rows and Sections](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/TableView_iPhone/ManageInsertDeleteRow/ManageInsertDeleteRow.html#//apple_ref/doc/uid/TP40007451-CH10-SW9) in [Table View Programming Guide for iOS](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/TableView_iPhone/AboutTableViewsiPhone/AboutTableViewsiPhone.html#//apple_ref/doc/uid/TP40007451).

## See Also

[`reloadRows(at:with:)`](/documentation/UIKit/UITableView/reloadRows(at:with:))

Reloads the specified rows using the provided animation effect.



---

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)