2011-08-31 241 views
1

我很困惑iPhone應用程序在開始運行時的狀態。我的意思是,當我嘗試編寫應用程序時,我感到困惑,並失去了諸如「viewDidLoad」,「viewDidUnload」,「dealloc」,「applicationDidLoad」等術語。我不知道什麼時候先到,哪一個晚些時候一個應用運行。例如,我想添加一個視圖(或圖片),當應用程序剛打開時顯示我的應用程序徽標(就像大多數應用程序所做的一樣)。那麼,我應該在哪裏(viewDidLoad或applicationDidLoad)放入我的代碼?iphone應用程序的生命週期?

嗯,這只是一個例子。如果你能告訴我答案,我將不勝感激。但我最關心的是運行應用程序的生命週期,即在哪個狀態下調用哪個方法。提前致謝!

回答

2

要開始,你可能想知道:

你的應用程序完成發射後運行的第一個代碼,是你把應用程序委託的方法應用的一箇中:didFinishLaunchingWithOptions。應用程序代理是設置爲接收有關應用程序正在發生的一般通知的類,如完成啓動:)

其他類型的應用程序狀態或生活中的變化「通知」意見週期是:

-viewDidLoad 
-viewWillAppear:animated: 
-viewDidAppear:animated: 
-viewWillDisappear:animated: 
-viewDidDisappear:animated: 
-viewDidUnload 

這些方法在UIViewController中聲明,你可以在UIViewController子類實現它們以自定義在這些情況下一個視圖的行爲(每一個方法的名字是自我解釋)

一個應用程序的生命週期在這裏覆蓋很好:http://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/iphoneappprogrammingguide.pdf頁面27

關於顯示徽標時,應用程序啓動,應用程序實現,通過把其名稱在Info.plist的屬性列表文件,在UILaunchImageFile鍵設置「撲通」的形象。

+0

難道一個有專門選擇在一個人的視圖控制器類來實現這些?例如,當我創建一個UIViewController子類時,這些方法默認不包含在內;我只有'viewDidLoad'和'viewDidUnload',但如果我想「自定義視圖的行爲」,我可以在這些方法中添加? – pasawaya

+0

這本身應該是另一個問題,在這個單獨的線程中,這裏沒有足夠的空間來回答:)發佈問題並回復這個評論與鏈接,我會回答你;) –

+0

我其實已經想通了。謝謝。 – pasawaya

相關問題