Я нажимаю контроллер вида на свой стек навигационного контроллера из моего метода tableViewController didSelectRowAtIndexPath следующим образом:
MyViewController *myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
MyObject *myO = (MyObject *)[appDelegate.myOs objectAtIndex:indexPath.row];
myViewController.amount = myO.amount;
[self.navigationController pushViewController:myViewController animated:YES];
[myViewController release];
Если я раскомментирую эту последнюю строку, приложение сбой при возврате с ошибкой:
-[CALayer release]: message sent to deallocated instance 0xd4f860
Копаясь немного дальше, я обнаружил, что крах может быть сужен до вызова [super dealoc] в методе DealView MyViewController. Разорушив "[super dealoc]", мы не рухнули.
У меня проблемы с этим. "super" - это класс UIViewController, и я не могу продолжить исследование этого метода dealoc... не так ли? Может быть, есть способ увидеть, что именно указывал 0xd4f860, но я не знаю, как это сделать? Любые идеи?