2011-01-18 47 views
3

我對iPhone開發和Objective-C非常陌生。今天,我想出瞭如何打開一個新的ViewController以及如何返回到前一個。如何正確顯示新視圖以及如何返回前一視圖

這裏是我當前如何做到這一點:

//在主視圖控制器我有一個是這樣定義的方法稱爲openSecondView:

- (void) openSecondView:(id)sender { 
    SecondViewController *secondView = [[SecondViewController alloc] initWithNibName:nil bundle:nil]; 
    [self presentModalViewController:secondView animated:YES]; 
} 

//在SecondViewController我有一回按鈕,調用一個名爲closeView的方法,定義如下:

- (void)closeView:(id)sender { 
    [self dismissModalViewControllerAnimated:YES]; 
} 

我的問題是,您如何正確地完成此操作?

要我打電話[secondView發行]調用presentModalViewController,或者這是做了一些什麼樣的幕後之後?我問這個,因爲當我調試時,我注意到presentModalViewController似乎不是一個阻塞代碼,我添加的代碼的下幾行似乎立即執行,沒有調用dismissModalViewControllerAnimated。是否有任何[secondView發佈]目前的任何後果ModalViewController

任何幫助/意見將不勝感激。

回答

2

[secondView發行]調用presentModalViewController後只要打電話。視圖控制器將保留,直到它被解散。

+0

優秀!感謝您的幫助和快速響應! –

+1

隨着Xcode 4.3 for iOS 5中的ARC(自動引用計數),即將推出,您甚至不必擔心保留,發佈,自動釋放等.Xcode將爲您完成這一切。現在幾乎不值得去學習內存管理;) –

+0

@DylanGattey它對於理解iOS中的內存管理,特別是使用第三方庫時總是很重要。不能保證他們會支持它。 –

相關問題