UINavigationController pushViewController内存管理

时间:2012-06-01 22:49:13

标签: uinavigationcontroller io pushviewcontroller

我有这样的代码:

MyViewController *myController = [[MyViewController alloc] init];
[self.myNavController pushViewController:myController animated:YES];
[myController release];

在上面的例子中,MyViewController的deallc被调用两次导致崩溃。 如果我删除最后一行“[myController release];”一切都很好。

这不符合内存管理准则吗?

2 个答案:

答案 0 :(得分:0)

如果我真的明白,你必须对init使用initWithNibName,如下所示:

MyViewController *myController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];

请试试这个并回复,最好的问候。

答案 1 :(得分:0)

你确定MyViewController的dealloc方法不会多次释放someObj吗? 您可以尝试清除dealloc内容,然后再次运行该应用程序。