iPhone se estrella al presentar el controlador de vista modal
Estoy tratando de mostrar una vista modal inmediatamente después de que otra vista se haya presentado de manera modal (la segunda es una vista de carga que aparece).
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// Show load
LoadViewController *loader = [[LoadViewController alloc] init];
[self presentModalViewController: loader animated:NO];
[loader release];
}
Pero cuando hago esto obtengo una "Señal recibida del programa:" EXC_BAD_ACCESS "." error.
La traza de pila es:
0 0x30b43234 in -[UIWindowController transitionViewDidComplete:fromView:toView:]
1 0x3095828e in -[UITransitionView notifyDidCompleteTransition:]
2 0x3091af0d in -[UIViewAnimationState sendDelegateAnimationDidStop:finished:]
3 0x3091ad7c in -[UIViewAnimationState animationDidStop:finished:]
4 0x0051e331 in run_animation_callbacks
5 0x0051e109 in CA::timer_callback
6 0x302454a0 in CFRunLoopRunSpecific
7 0x30244628 in CFRunLoopRunInMode
8 0x32044c31 in GSEventRunModal
9 0x32044cf6 in GSEventRun
10 0x309021ee in UIApplicationMain
11 0x00002154 in main at main.m:14
¿Algunas ideas? Estoy totalmente perplejo! La vista de carga está vacía, por lo que definitivamente no hay nada dentro que esté causando el error. ¿Es algo que ver con lanzar 2 vistas de manera modal en el mismo bucle de eventos o algo así?
Gracias,
Micro
Edit: Muy extraño ... Lo he modificado ligeramente para que la vista de carga se muestre después de un pequeño retraso, ¡y esto funciona bien! ¡Así que parece ser algo dentro del mismo bucle de eventos!
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// Show load
[self performSelector:@selector(doit) withObject:nil afterDelay:0.1];
}
- (void)doit {
[self presentModalViewController:loader animated:YES];
}