How to I properly display to different UITableViewCell subclasses within the same UITableView?

I am using the storyboard for this question. I am trying to use two different subclasses of UITableView cell in a single table. The idea that `TTTextFieldCell`s know how to show a text box and `TTPickerCell`s know how to present a UIPicker to the user. There the protocol `TTTableViewCell` specifies a single selector: `[setCellDetails (NSDictionary*) cellDetails]` Each `UITableViewCell` subclass knows what to do with the cellDetails Dictionary to setup the cell.

```
-(NSArray *)tableData {
     if (!_tableData) {
          _tableData =
          @[ // Sections
             @{ // Section Details
                  kSectionName:@"Scout Information"
                  ,kRows:@[ // Rows
                             @{// Cell Details
                                  kBoundProperty:self.scoutName
                                  ,kReuseIdentifier:kTextFieldCell
                                  ,kLabel:@"Name"
                                  ,kPlaceholderValue:@"Scout's Name"
                                  }
                             ,@{
                                  kReuseIdentifier:@"TTPickerCell"
                                  ,kLabel:@"Type"
                                  ,kPlaceholderValue:@"Cadet, Junior, etc..."
                                  }
                             ,@{
                                  kBoundProperty:self.yearsScouting
                                  ,kReuseIdentifier:kTextFieldCell
                                  ,kLabel:@"Years"
                                  ,kPlaceholderValue:@"Years of Experience"
                                  ,kKeyboardStyle:@(UIKeyboardTypeNumberPad)
                                  }
                             ]
                  }
             ,@{ // Section Details
                  kSectionName:@"Parent Information"
                  ,kRows:@[
                             @{
                                  kBoundProperty:self.parentName
                                  ,kReuseIdentifier:kTextFieldCell
                                  ,kLabel:@"Name"
                                  ,kPlaceholderValue:@"Parents's Name"
                                  }
                             ]
                  }
             ];
     }
     return _tableData;
}

- (void)viewDidLoad
{
     [super viewDidLoad];
    // Do any additional setup after loading the view.
    // Line A
     [self.tableView registerClass:[TTTextFieldCell class] forCellReuseIdentifier:@"TTTextFieldCell"];
    // Line B
     [self.tableView registerClass:[TTPickerCell class] forCellReuseIdentifier:@"TTPickerCell"];
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
     NSDictionary* cellDetails = self.tableData[indexPath.section][kRows][indexPath.row];

     NSString* reuseIdentifier = cellDetails[kReuseIdentifier];

     // Line C
     UITableViewCell<TTTableViewCell> *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];

     [cell setCellDetails:cellDetails];
     return cell;
}

```

Now, here is the question. If I comment out line A and B, then the TTTextFieldCells are displayed correctly. But Line C will fail because it is attempting to call the TTTextFieldCell init with a TTPickerCell object, and failing because the TTPickerCell object doesn't have the same properties. If I uncomment Line A and B then the cell styles default to `UITableViewCellStyleDefault` and they don't display the custom controls. Oddly, if I comment out Line A, and uncomment line B, then the `TTTextFieldCells` look great, but the `TTPickerCells` default to `UITableViewCellStyleDefault`.

It seems that if I do not register a class, dequeue will return an instance of the first prototype cell class. If I register the class then the cell defaults to `UITableViewCellStyleDefault`.

Also of note, the initWithStyle:reuseIdentifier: selectors only get called if the class is registered.

So, how to I properly display to different UITableViewCell subclasses within the same UITableView? Do I have to forgo using the storyboard to design the cell?

Thank you in advance.