Почему это переиздание? UINavigationController / UITableview
Я помещаю контроллер представления в стек моего контроллера навигации из метода didSelectRowAtIndexPath моего TableViewController следующим образом:
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] в методе dealoc MyViewController. Откомментировав "[супер сделка]" мы не терпим крах.
У меня проблемы с дальнейшим сужением. & Quot; супер & Quot; будет классом UIViewController, и я не могу больше исследовать этот метод деалека ... могу ли я? Может быть, есть способ увидеть, на что именно указывает 0xd4f860, но я не знаю, как? Есть идеи?