Управление памятью UINavigationController pushViewController

У меня есть такой код:

MyViewController *myController = [[MyViewController alloc] init];
[self.myNavController pushViewController:myController animated:YES];
[myController release];

В приведенном выше случае Deallc MyViewController вызывается дважды, что приводит к сбою. Если я удалю последнюю строку "[выпуск myController];" все хорошо.

Разве это не противоречит рекомендациям по управлению памятью?


person user1150393    schedule 01.06.2012    source источник


Ответы (2)


если я правильно понимаю, вы должны использовать initWithNibName против init, как показано ниже:

MyViewController *myController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];

Пожалуйста, попробуйте это и ответьте, с наилучшими пожеланиями.

person lykant    schedule 22.06.2012

Вы уверены, что метод Dealloc MyViewController не выпускает someObj более одного раза? Вы можете попытаться очистить содержимое Dealloc, а затем снова запустить приложение.

person YDT    schedule 07.05.2013