init *函数保留传递给它们的内容吗?

时间:2010-03-19 22:23:04

标签: iphone objective-c memory-management retain

我使用以下命令启动导航控制器:

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:firstViewController];

我想知道导航控制器是保留firstViewController还是我需要保持它活着。当我发布firstViewController时,导航控制器仍然有效。这似乎不对。

澄清?

1 个答案:

答案 0 :(得分:3)

如果需要保留它,它将retain。所以是的,如果不再需要它,你就可以安全地释放它。这不仅仅是具有此行为的initWhatever方法 - 它是整个内存管理模型的标准操作。