Мое корневое представление содержит три раздела в табличном представлении. В зависимости от того, какой раздел выбран, соответствующий контроллер представления будет вставлен в стек просмотра. Следующий метод didSelectRowAtIndexPath взят из моего кода и работает так, как я ожидал, но мне было интересно, если это правильный / самый элегантный способ сделать это. Я новичок в Objective-C, поэтому не уверен, стоит ли мне сначала инициализировать viewController для nil.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIViewController *viewController = nil;
if (indexPath.section == 0) {
viewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
}
else if (indexPath.section == 1) {
viewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
}
else if (indexPath.section == 2) {
viewController = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
}
[self.navigationController pushViewController:viewController animated:YES];
[viewController release];
}