Я работаю над приложением, в котором я помещаю один контроллер представления в UINavigationController и немедленно освобождаю его, поскольку контроллер навигации сохраняет его. Когда я открываю контроллер представления, метод dealloc
вызывается, как и ожидалось, но Проблема в том, что приложение выходит из строя. Если я наблюдаю в GDB, включив NSZombie
, он говорит, что -[MyViewController isKindOfClass:]: message sent to deallocated instance 0x6847a00
. Если я удаляю [super dealloc]
из метода dealloc
моего контроллера представления, он работает нормально . У меня нет ничего другого в методе dealloc, кроме [super dealloc]. В чем здесь может быть проблема, может ли кто-нибудь помочь, пожалуйста. Фрагмент кода приведен ниже:
MyViewController *myViewController = [[MyViewController alloc] initWithNibName:nil bundle:nil];
myViewController.path = selectedPath; //very important to set path here
myViewController.parentViewController = self;
[self cleanBookshelf];
[self.navigationController pushViewController:myViewController animated:NO];
[myViewController release];
[indicatorView removeFromSuperview];
[loadingindicator stopAnimating];
и я выхожу в один метод действия myViewController как
-(IBAction)goBack:(UIButton*)sender{
[self.navigationController popViewControllerAnimated:YES];
}