2012-06-01 70 views
0

我有這樣的代碼:的UINavigationController pushViewController內存管理

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

在上述情況下,MyViewController的deallc被稱爲導致崩潰的兩倍。 如果我刪除最後一行「[myController release];」一切安好。

這是否違背內存管理指南?

回答

0

如果我真正理解,你必須使用initWithNibName對初始化象下面這樣:

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

請試試這個和答覆,最好的問候。

0

您確定MyViewController的dealloc方法不會多次釋放someObj嗎? 您可以嘗試清除dealloc內容,然後再次運行該應用程序。