Используйте
<%= link_to 'Back', :back %>
, Это - specificied в RDoc здесь
, Это генерирует некоторый JavaScript для навигации назад. Я только что протестировал его, и это работает.
Обычно лучше всего вызывать его из родительского контроллера -viewDidAppear .
Если это приводит к проблемам, если контроллер дочернего представления еще не полностью инициализирован, у вас может быть другая проблема. Убедитесь, что ваш дочерний контроллер представления полностью «готов к действию» после вызова -viewWillAppear (который также можно вызвать вручную из родительского -viewWillAppear )
В - [viewDidAppear] в табличном представлении, действительно вызываемом из родительского контроллера представления - [viewDidAppear], вы можете вызвать [tableView reloadData], таким образом вы убедитесь, что tableView загружен и готов .
Вот как я вручную вызываю viewWillAppear
, viewDidAppear
, viewWillDisappear
, viewDidDisappear] [1153684685] ] здесь
и один из контроллеров представлений, которые я загружаю таким образом, имеет следующий вид viewWillAppear:
(обратите внимание, что это viewWillAppear
, поскольку в момент, когда viewDidAppear
вызывается, ваше представление может просматривать пользователь)
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[wordListTable reloadData];
[wordListTable scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionMiddle animated:NO];
}