I've read all the relevant other questions on this topic and tried the fixes, none of which have worked. My app crashes/hangs to the extent that I have to force quit Xcode in order to restart working, when dequeueReusableCellWithIdentifier: is called.

It makes no difference if I use dequeueReusableCellWithIdentifier:, or dequeueReusableCellWithIdentifier:forIndexPath: , and I HAVE set the class with registerClass:forCellReuseIdentifier: , as you can see in the code below. 

Registering the class in my ViewController:

```
@implementation LWSFlavourMatchesViewController

-(void)viewDidLoad
{
    [super viewDidLoad];
    _flavourMatchesView = [LWSFlavourMatchesView     flavourMatchesViewWithDataSource:self.flavourMatchesDataSource andDelegate:self.flavourMatchesDelegate];
    self.tableView = _flavourMatchesView;
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"flavourCell"];
}

```

And trying to dequeue cell in tableView:cellForRowAtIndexPath in my dataSource:

```
@implementation LWSFlavourMatchesDataSource

// other methods...

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *flavourCellIdentifier = @"flavourCell";
    NSString *currentSelectedFlavour = [self.flavourWheel selectedFlavour];
    UITableViewCell *tableViewCell = [tableView dequeueReusableCellWithIdentifier:flavourCellIdentifier forIndexPath:indexPath];
    if(tableViewCell == nil)
    {
        tableViewCell = [[UITableViewCell alloc ]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:flavourCellIdentifier];
    }
   [tableViewCell.textLabel setText: currentSelectedFlavour];
    return tableViewCell;
//    return [UITableViewCell new];
}

```

If I remove all other code but un-comment out `return [UITableViewCell new];` then the app does not crash. What is it about my dequeuing that is causing this problem?!