As others have said, you must make sure that you recycle the cells correctly, and not destroy the things that you will need to recreate in any case, when the cell is reused.
But you may want to free up other assets stored by the cell or its views. Or, if this cell has any pending requests, for example, you might want to reset their priority or even cancel them when the cell is turned off.
I think the cleanest way to do this is to simply override -[UITableViewCell prepareForReuse]
This is called when the cell returns to the reuse queue. If the user quickly moves up and down the table, you may not want to clear the cell until the cell is off the screen (for example, looking at indexPathsForVisibleRows).
But when the cell actually reverts back to the reuse queue, this is the right time for this job, since you know that the cell will no longer be displayed on the screen until you deactivate it and configure it again.
Firoze lafeer
source share