Instance Method

commitInsertionWithDataSourceUpdates:

Exchanges the placeholder cell for a cell with the final content.

Required.

Declaration

- (BOOL)commitInsertionWithDataSourceUpdates:(void (^)(NSIndexPath *insertionIndexPath))dataSourceUpdates;

Parameters

dataSourceUpdates

The handler block to execute as part of committing your changes. Use this block to update your table view's data source with the actual data that you received. This block has no return value and takes the following parameter:

insertionIndexPath

The location at which to insert any items into your data source. Always use this index path for the insertion point instead of any cached values.

Return Value

YES if the placeholder was replaced by your content or NO if the placeholder was no longer in the table view.

Discussion

When you receive the actual data for a cell, call this method on your app's main thread to remove the corresponding placeholder cell and insert the actual cell. If the placeholder cell is still present in the table view, this method calls the dataSourceUpdates handler. Use that block only to update the data source object of your table view. Do not update the table view itself, and do not call reloadData on the table view. When your block finishes, the table view updates itself automatically, creating a new cell for your data.

If the placeholder cell is no longer present, this method does not execute your dataSourceUpdates block.