If you don't have a disclosure button then tableView:accessoryButtonTappedForRowWithIndexPath:
will never be called.
Instead, you would need to use tableView:didSelectRowAtIndexPath:
.
Aside:
This code is never going to work usefully as if cell
is nil
you can't call a method on it:
if (cell == nil) {
cell.textLabel.textColor = [UIColor whiteColor];
}