UITableViewController имеет метод initWithStyle, в котором вы передаете ему стиль, который вы хотите использовать в табличном представлении, обычный или сгруппированный. Это означает, что для создания и использования моего контроллера табличного представления в другом месте кода, возможно в нескольких местах, я делаю это:
MyViewController *myViewController = [[MyViewController alloc] initWithStyle: UITableViewStyleGrouped];
[self.navigationController pushViewController: myViewController animated: YES];
[myViewController release];
Это кажется мне задом наперед. Классы, которые используют мой UITableViewController, не должны знать или заботиться о том, использует ли он сгруппированный или простой стиль, о чем заботится MyViewController. Какой идиоматический способ борьбы с этим? Переопределить метод init в MyViewController для вызова initWithStyle?