presentModalViewController:animated:关闭后崩溃

时间:2009-05-25 15:00:48

标签: iphone memory-management uiviewcontroller crash

我目前遇到UIViewController的{​​{1}}问题。

我使用以下代码来设置和显示模态视图控制器:

presentModalViewController:animated:

一旦调用UINavigationController *navigationController = [[UINavigationController alloc] init]; AddSerialController *serialController = [[AddSerialController alloc] initWithNibName:@"AddSerial" bundle:nil]; [navigationController pushViewController:serialController animated:NO]; [self.parentViewController presentModalViewController:navigationController animated:YES]; [serialController release]; [navigationController release]; ,应用程序(在iPhone模拟器中运行)就会崩溃。 GDB表示它在dismissModalViewControllerAnimated:崩溃了。

如果我注释掉最后一行代码(导航控制器的发布),一切正常,但我正在泄漏objc_msgSend(如预期的那样)。

这到底是怎么回事?

1 个答案:

答案 0 :(得分:2)

创建UINavigationController时,应该为它提供一个根视图控制器:

  

AddSerialController *serialController = [[AddSerialController alloc] initWithNibName:@"AddSerial" bundle:nil];

     

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:serialController];

     

[serialController release];

     

[self.parentViewController presentModalViewController:navigationController animated:YES];

     

[navigationController release];