Instance Method

insertSections(_:with:)

Inserts one or more sections in the table view, with an option to animate the insertion.

Declaration

func insertSections(_ sections: IndexSet, with animation: UITableViewRowAnimation)

Parameters

sections

An index set that specifies the sections to insert in the table view. If a section already exists at the specified index location, it is moved down one index location.

animation

A constant that indicates how the insertion is to be animated, for example, fade in or slide in from the left. See UITableViewRowAnimation for descriptions of these 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() and 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 in Table View Programming Guide for iOS.

See Also

Inserting, Deleting, and Moving Rows and Sections

func insertRows(at: [IndexPath], with: UITableViewRowAnimation)

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

func deleteRows(at: [IndexPath], with: UITableViewRowAnimation)

Deletes the rows specified by an array of index paths, with an option to animate the deletion.

func moveRow(at: IndexPath, to: IndexPath)

Moves the row at a specified location to a destination location.

func deleteSections(IndexSet, with: UITableViewRowAnimation)

Deletes one or more sections in the table view, with an option to animate the deletion.

func moveSection(Int, toSection: Int)

Moves a section to a new location in the table view.

func performBatchUpdates((() -> Void)?, completion: ((Bool) -> Void)? = nil)

Animates multiple insert, delete, reload, and move operations as a group.

func beginUpdates()

Begins a series of method calls that insert, delete, or select rows and sections of the table view.

func endUpdates()

Concludes a series of method calls that insert, delete, select, or reload rows and sections of the table view.