title: iPhone - UITableView reload on scrolling
body: <p>I've a <code>UITableView</code> and each <code>UITableViewCell</code> displays a unique <code>UIImage</code> which is fetched from internet. As we scroll the <code>UITableView</code>, cells are recreated and <code>tableView: cellForRowAtIndexPath:</code> gets called every time to configure cells. So it loads <code>UIImages</code> again and again from internet and scrolling is not smooth.</p>
  
  <p>The solution I found for myself right now is to create <code>NSMutableArray</code> of all those <code>UIImages</code> on <code>ViewDidLoad</code> then load images into <code>UITableViewCells</code> from that <code>NSMutableArray</code> which is for sure giving me smooth scrolling.</p>
  
  <p>My concern with my own solution is that when I keep all <code>UIImages</code> in <code>NSMutableArray</code> and those all objects are kept in memory for as long as application runs, I am most probably making inefficient use of memory.</p>
  
  <p>Is there a better, more efficient way to do this which gives me smooth scrolling as well as best memory usage?</p>