33                                                :(NSString *)identifier
   34{
   35  
   36  UITableViewCell *cell = [[self tableView] dequeueReusableCellWithIdentifier:identifier];
   37  if (cell != nil)
   38    return cell;
   39 
   40  
   41  if ([identifier isEqualToString:TableCellIdentifierText])
   42  {
   43    [[NSBundle mainBundle] loadNibNamed:@"EditTextTableViewCell" owner:self options:nil];
   44    cell = _textTableViewCell;
   45    _textTableViewCell = nil;
   46  }
   47  else if ([identifier isEqualToString:TableCellIdentifierSecretText])
   48  {
   49    [[NSBundle mainBundle] loadNibNamed:@"EditSecretTextTableViewCell" owner:self options:nil];
   50    cell = _secretTextTableViewCell;
   51    _secretTextTableViewCell = nil;
   52  }
   53  else if ([identifier isEqualToString:TableCellIdentifierYesNo])
   54  {
   55    [[NSBundle mainBundle] loadNibNamed:@"EditFlagTableViewCell" owner:self options:nil];
   56    cell = _flagTableViewCell;
   57    _flagTableViewCell = nil;
   58  }
   59  else if ([identifier isEqualToString:TableCellIdentifierSelection])
   60  {
   61    [[NSBundle mainBundle] loadNibNamed:@"EditSelectionTableViewCell" owner:self options:nil];
   62    cell = _selectionTableViewCell;
   63    _selectionTableViewCell = nil;
   64  }
   65  else if ([identifier isEqualToString:TableCellIdentifierSubEditor])
   66  {
   67    [[NSBundle mainBundle] loadNibNamed:@"EditSubEditTableViewCell" owner:self options:nil];
   68    cell = _subEditTableViewCell;
   69    _subEditTableViewCell = nil;
   70  }
   71  else if ([identifier isEqualToString:TableCellIdentifierButton])
   72  {
   73    [[NSBundle mainBundle] loadNibNamed:@"EditButtonTableViewCell" owner:self options:nil];
   74    cell = _buttonTableViewCell;
   75    _buttonTableViewCell = nil;
   76  }
   77  else if ([identifier isEqualToString:TableCellIdentifierMultiChoice])
   78  {
   79    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1
   80                                   reuseIdentifier:identifier] autorelease];
   81  }
   82  else
   83  {
   84    NSAssert(false, @"Unknown table cell identifier");
   85  }
   86 
   87  return cell;
   88}