title: iPhone strange behaviour in UITableViewController
body: <p>i have a cell with an UIView (called: message), with 2 UILabel (label, dataLabel) and 1 UIButton (iconButton).</p>
  
  <p>If i release dataLabel and iconButton, i receive an error in runtime. If I release the others no problems occurred.</p>
  
  <p>Can you please help me?</p>
  
  <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  
  static NSString *CellIdentifier = @"Cell";
  
  UIImageView *balloonView;
  UILabel *label;
  UIButton *iconButton;
  UILabel *dataLabel;
  
  
  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
  
  if (cell == nil) {
      cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cellID"] autorelease];
      cell.selectionStyle = UITableViewCellSelectionStyleNone;
      tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  
      UIView *message = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, cell.frame.size.width, cell.frame.size.height)];
      message.tag = 1;
  
      dataLabel = [[UILabel alloc] initWithFrame:CGRectZero];
      dataLabel.backgroundColor = [UIColor clearColor];
      dataLabel.textColor = [UIColor darkGrayColor];
      dataLabel.tag = 2;
      dataLabel.numberOfLines = 0;
      dataLabel.lineBreakMode = UILineBreakModeWordWrap;
      dataLabel.font = [UIFont systemFontOfSize:11.0];
      dataLabel.textAlignment = UITextAlignmentCenter;
      dataLabel.opaque = YES;
  
      balloonView = [[UIImageView alloc] initWithFrame:CGRectZero];
      balloonView.tag = 3;
      balloonView.image = nil;
  
      label = [[UILabel alloc] initWithFrame:CGRectZero];
      label.backgroundColor = [UIColor clearColor];
      label.tag = 4;
      label.numberOfLines = 0;
      label.lineBreakMode = UILineBreakModeWordWrap;
      label.font = [UIFont systemFontOfSize:14.0];
      label.opaque = YES;
  
      iconButton = [UIButton buttonWithType:UIButtonTypeCustom];
      iconButton.tag = 5;
  
      [message addSubview:dataLabel];
      [message addSubview:balloonView];
      [message addSubview:label];
      [message addSubview:iconButton];
  
      [cell.contentView addSubview:message];
  
      [balloonView release];
      [label release];
      [message release];
  }
  else {
      dataLabel = (UILabel *)[[cell.contentView viewWithTag:0] viewWithTag:2];
      balloonView = (UIImageView *)[[cell.contentView viewWithTag:0] viewWithTag:3];
      label = (UILabel *)[[cell.contentView viewWithTag:0] viewWithTag:4];
      iconButton = (UIButton *)[[cell.contentView viewWithTag:0] viewWithTag:5];
  }
  
  dataLabel.frame = CGRectMake(0,0,cell.frame.size.width,20);
  dataLabel.text = [NSString stringWithFormat:[[messages objectAtIndex:indexPath.row] valueForKey:DATE_TAG_NAME]];
  
  UIImage *balloon;
  
  [...]
  
  balloonView.image = balloon;    
  
  return cell;}
  </code></pre>
  
  <p>Thank you!</p>