我有一个名为SourceListViewController的自定义viewController,我将它添加到UINavigationController中,然后将其视图添加到iphone App的窗口中。在将SourceListViewController传递给UINavigationController之后,我发布了sourceListViewController。
SourceListViewController *sourceListVC = [[SourceListViewController alloc] initWithNibName:@"SourceListViewController" bundle:nil];
UINavigationController *navigationController = [[[UINavigationController alloc] initWithRootViewController:sourceListVC] autorelease];
[sourceListVC release];
当我这样做时,视频加载到手机后应用程序会崩溃。当我注释掉最后一行时,应用程序正常工作。是不是initWithRootViewController应该保留sourceListVC的副本?
答案 0 :(得分:8)
您正在自动释放navigationController。因此,如果navigationController得到自动释放(可能会在下一个runloop中发生),那么sourceListVC也是如此。