title: UITableViewCell willDisplayCell method conundrum
body: <p>Whenever I create a new cell, strange magic occurs. If I exit the view controller later (with the data all saved up), and come back to the view controller again (with the data reloaded, etc.), everything is ok (but if I stay in the view controller it is messed up)</p>
  
  <p>Now let me describe this strange magic:</p>
  
  <ul>
  <li>I have a custom UITableViewCell</li>
  <li>When the indexPath is even, a blue circle exists in it</li>
  <li>When the indexPath is odd, a green rectangle exists in it</li>
  </ul>
  
  <p>However, when a new cell is created, it has both a green rectangle and a blue circle in it, how is this possible?</p>
  
  <pre><code>- (void)tableView:(UITableView *)tableView willDisplayCell:(CustomCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
      if (cell.blueCircle)    cell.blueCircle = nil;
      if (cell.greenRect)   cell.greenRect = nil;    
      if (indexPath.row % 2 == 0){
          NSLog(@"Even indexPath: %@", indexPath);
          //some of the code not shown here creates a blue circle
          [cell addSubview:cell.blueCircle];
      }
      else {
          NSLog(@"Odd indexPath: %@", indexPath);
          //some of the code not shown here creates a green rectangle
          [cell addSubview:cell.greenRect];
      } 
  }
  </code></pre>
  
  <p>Note that I only get one NSLog, either an odd or an even one, so why do I get two shapes instead of just one?</p>
  
  <p>I have a feeling that, one of the shapes is getting carried over somehow (not sure how this works) from the previous cell to the new cell, before this message is called, but I do have lazy "nilization" to combat this.</p>
  
  <p>What are your thoughts on this?</p>