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}