2011-01-28 34 views
1

我正在iOS中實施購物車。UINavigation控制器中未使用的視圖會發生什麼?

我正在使用UINavigationController來爲進程的每個步驟顯示UIViewControllers。用戶可以使用後退按鈕並更改內容。

但他們提交訂單後,我不希望他們回去。在沒有使用導航控制器的後退按鈕的情況下顯示視圖的正確方法是什麼?

當你這樣做時,以前的UIViewControllers會發生什麼?他們是否被釋放?顯然我不需要他們。我必須手動釋放它們嗎?

回答

1

您必須解除分配這些視圖控制器。否則,他們將開始泄漏。我想,你會以某種方式推動視圖控制器類似於以下內容。

MyViewController *myViewController = [[MyViewController alloc] init]; 
[self.navigationController pushViewController:myViewController animated:YES]; 
[myViewController release]; 

如果你是這樣做的,你以後就不必擔心這些視圖控制器。它們將在UINavigationController完成時由它們釋放。

隱藏後退按鈕:在最後一個視圖控制器的loadView方法中添加以下行。

[self.navigationItem setHidesBackButton:YES]; 
+0

是的,我正在按這樣的意見 如何加載沒有後退按鈕的最後一個視圖? – Janaka 2011-01-28 05:56:30

0

你可以告訴它去一個特定的視圖控制器或者與類似:

[myNavController popToRootViewControllerAnimated:YES]; 

或者,也就是一個UINavigationController方法給它的視圖控制器的陣列,它應該呈現第一。

相關問題