Caída aleatoria al presentar la hoja de formulario sobre MGSplitViewController

Estoy usando MGSplitViewController en mi aplicación. Desde el viewcontroller, en un clic de button, he navegado el control de estos dos methods, donde se abrirá Formsheet con el background de MGSplitViewController (que muestra vistas maestras y de detalles).

Estos methods funcionan bien y obtengo el resultado requerido, pero después de muchas operaciones, la aplicación se bloquea en este punto sin imprimir ningún logging. ¿Alguien me puede sugerir alguna solución?

-(void)launchSplitViewWithFormSheet :(MGSplitViewController *)mGSplitViewController { UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:mGSplitViewController]; [self.baseNavigationController setViewControllers:[NSArray arrayWithObject:navController]]; [self openFormSheet:mGSplitViewController]; } -(void)openFormSheet:(MGSplitViewController *)mGSplitViewController { DetailViewController *detailViewController = (DetailViewController *)[mGSplitViewController.viewControllers objectAtIndex:0]; MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil]; UINavigationController *baseNavController = [[UINavigationController alloc]initWithRootViewController:masterViewController]; detailViewController.masterViewController = detailViewController; baseNavController.modalPresentationStyle = UIModalPresentationFormSheet; [mGSplitViewController presentModalViewController:baseNavController animated:YES]; } 

Yo mismo obtuve la respuesta. En lugar de

 [self openFormSheet:mGSplitViewController]; 

Llamé a la function con hilo usando

  [self performSelectorOnMainThread:@selector(openPurpose:) withObject:mGSplitViewController waitUntilDone:YES]; 

y no estoy sufriendo un crash random. 🙂

Está llamando a alloc varias veces en su código, pero no está llamando a release o autorelease ninguna parte. Cada asignación de memory debe ser compensada por una liberación de memory. Si no lo hace, su aplicación perderá memory y eventualmente se bloqueará. Lea la sección de gestión de memory de las competencias de Cocoa Core .