You can do
[self.tableView cellForRowAtIndexPath:indexPath]
(not to be confused with the data source method [self tableView:cellForRowAtIndexPath:] ), and if the cell for this pointer path exists, it will be returned. Otherwise, you will get nil .
You definitely do not want your background update process to contain a direct link to the cell, because, as you said, it can scroll from the screen and be processed by the time the selection is complete. Instead, keep a reference to the pointer path or a piece of data that you can use to find the index path, and then use this pointer path with the method above to retrieve the cell.
source share