I currently have one UITableViewController that contains many cells with simple data in it. When the UITableViewController instantiates a UITableViewCell, it begins running a background thread for each individual cell to get its state from the server. The UITableViewCell is subclassed and already has a UIImageView property that needs to get added to the contentView once the data from the server is ready. 

My problem is that is that I need to call [tableView reloadData] everytime I get new data back from the background threads. This is a bit overkill, as I can simply add the UIImageView to the contentView by accessing the affected cell directly. I'm just not sure of the best way to find the cell for when my data management utility is done doing its work (speaking to the server). 

Does it make sense to do something such as passing the indexPath of the cell when calling my data manager to run its background task and then passing that indexPath back when the task is done? Is that overkill?

What's your favorite way for handling this common task?

Thanks SO crew.