1

我遇到以前的問題,當我通過UINavigationController推送它後發佈viewController,所以我現在autorelease每個viewController將被推送。但我經常看到開發人員在推送它之後發佈viewController的代碼。什麼時候發佈/ autorelease VC的將被推

我的問題是,何時是正確的時間釋放/自動釋放一個UIViewController推入堆棧時?

感謝

回答

1

發佈

導航控制器保留,當你推視圖控制器。

我會建議您之前的任何問題都與上述過程無關,但在其他地方。

+0

但是我遇到的問題是在推送後釋放v/c時遇到的exc_bad_access。 – 2011-06-15 17:11:50

+0

如果你可以顯示一個代碼塊來重現這個問題,那麼我們可以幫助解決這個問題。我非常懷疑這是在我的答案中列出的過程。 – InsertWittyName 2011-06-15 17:13:26

+0

我目前沒有收到問題,但我會發布,如果我這樣做。 – 2011-06-15 17:17:21

0

是否在推送之前自動釋放視圖控制器或在推送沒有什麼區別後釋放視圖控制器。推後釋放效率更高一些,因爲它會使視圖控制器更快地釋放(釋放內存的速度更快),但autorelease也會盡快釋放它,但稍後會釋放。

1

 
ViewController *yourViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
[self.navigationController pushViewController:yourViewController animated:YES]; 
[yourViewController release]; 

相關問題