xcode构建和分析相关问题

时间:2010-08-11 02:53:02

标签: xcode memory-leaks build

我正在观看WWDC 2010中的视频,现在开始深入研究xcode 3.2中构建和分析工具的功能。这是一个很好的工具,可以突出编码错误(特别是对于像我这样的新手!),即使它们在运行时可能没有影响。

但有一件事我需要帮助才能理解。

当我使用以下代码推送新的视图控制器时:

SettingsViewController *nextController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:nil];

My_AppAppDelegate *delegate = [[UIApplication sharedApplication] delegate];

[delegate.myNavController pushViewController:nextController animated:YES];

分析仪告诉我存在潜在的内存泄漏。我可以理解,在某种程度上,我分配NextController但从未发布它。但是,如果我尝试发布它,我的应用程序崩溃了。

在模拟器和物理设备上使用Instruments进行分析时,我不会发生任何泄漏。

Apple会阻止这个应用程序还是会通过测试?

2 个答案:

答案 0 :(得分:1)

除非导致未处理的内存警告和崩溃,否则您可能不会因泄漏而被拒绝。也就是说,您提到的具体问题可以使用autorelease修复。

SettingsViewController *nextController = [[[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:nil] autorelease];

导航控制器应保留视图控制器的生命周期。

答案 1 :(得分:0)

将应用程序提交给Apple并通过了。