несколько вещей:
вероятно, лучше иметь свойство в beforeViewController, чтобы оно могло устанавливать собственный заголовок при загрузке (вместо того, чтобы устанавливать его из родительского класса).
секунда, почему вы устанавливаете кнопку возврата для текущего класса? вы также это делаете (вы выделяете UIBarButtonItem, но не освобождаете его).
NewViewController *newViewController = [[[NewViewController alloc]
initWithNibName:@"New" bundle:nil] autorelease];
newViewController.name = [self.listData objectAtIndex:indexPath.row];
[self.navigationController pushViewController:beforeAfterViewController animated:YES];
тогда в NewViewController у вас есть
- (void) viewDidLoad{
self.title = self.name;
}
re: ваш дополнительный вопрос: если вы выталкиваете дочерний контроллер с помощью [self.navigationController popViewControllerAnimated: YES], родительское представление должно автоматически отменить выбор строки, которая была ранее выбрана. он не должен оставаться выбранным, если вы не заставляете его оставаться таким.
вам не нужно делать ничего подобного [self.tableView deselectRowAtIndexPath:], если только вы не выдвигаете дочерние представления (и не делаете что-то вроде пометки ячейки, которую нажал пользователь).