title: tableview:cellforrowatindexpath with multiple cell types
body: <p>when i build and analyze, i am told that cell never gets a value...which seems false by my logic, but then the app crashes trying to load the table. so...why come? </p>
  
  <pre><code>    - (UITableViewCell *)tableView:(UITableView *)tableView 
               cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  
          static NSString *Cell1Identifier = @"Cell1";
          static NSString *Cell2Identifier = @"Cell2";
          static NSString *Cell3Identifier = @"Cell3";
          UITableViewCell *cell;
  
          if ([indexPath section] == 0) {
              UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:Cell1Identifier];
  
              if (cell == nil) {
                  cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2
                                                 reuseIdentifier:Cell1Identifier] autorelease];
              }
          }
  
          else if ([indexPath section] == 1) {
              UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:Cell3Identifier];
              if (cell == nil) {
                  cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
                                                 reuseIdentifier:Cell3Identifier] autorelease];
              }
          }
  
          else {
              UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:Cell2Identifier];
              if (cell == nil) {
                  cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
                                                 reuseIdentifier:Cell2Identifier] autorelease];
              }
          }
  
  
          // Configure the cell...
          [self configureCell:cell
                  atIndexPath:indexPath];
  
          return cell;
      }
  </code></pre>