извините, если я скажу что-то очевидное, но я потратил некоторое время, чтобы выяснить, как это сделать:
Не сохраняйте объект подкласса UIViewController
в ivar, просто alloc] init]
новый объект каждый раз, когда вы хотите его представить.
В моем случае у меня есть этот код в MasterViewController.h
@property (strong, nonatomic) ContactsDetailViewController *detailViewController;
и этот в MasterViewController.m
@synthesize detailViewController = _detailViewController;
if (!self.detailViewController) {
self.detailViewController = [[ContactsDetailViewController alloc]
initWithNibName:@"ContactsDetailViewController"
bundle:nil];
}
Вы должны удалить этот код и использовать следующий код там, где вы нажимаете свой контроллер модального вида:
ContactsDetailViewController *detailViewController = [[ContactsDetailViewController alloc] initWithNibName:@"ContactsDetailViewController" bundle:nil];
detailViewController.title = @"View Controller"; // for example
[self.navigationController pushViewController:detailViewController animated:YES];
примечание: я использую ARC в этом проекте
Надеюсь, это кому-нибудь пригодится