У меня есть контроллер корневого представления, который служит меню. Когда элемент выбран, он модально представляет некоторые полноэкранные данные. При нажатии кнопки возврата выполняется следующий код:
В BoardViewController.m:
- (IBAction)menuButtonPressed:(id)sender
{
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
}
Это красиво возвращает в главное меню. Но после этого я бы хотел, чтобы отклоненный контроллер представления был уничтожен (например, когда вы используете контроллеры представления push / pop). Ссылки на них я не храню, но после увольнения они остались живы. Как я могу это исправить? (Используя ARC.)
РЕДАКТИРОВАТЬ
В AppDelegate.m:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
MenuViewController *menuVC = [[MenuViewController alloc] init];
self.window.rootViewController = menuVC;
...
}
В MenuViewController.m:
- (IBAction)newGame:(id)sender
{
BoardViewController *boardVC = [[BoardViewController alloc] init];
boardVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:boardVC animated:YES completion:nil];
}
РЕДАКТИРОВАТЬ 2
Что ж, проблема была вызвана неслабым свойством делегата. Спасибо за все!