自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iPhone應用程序中生命周期詳解

移動開發(fā) iOS
在iPhone中,用戶通過點擊主頁面上的程度圖標啟動一個程序。點擊后,系統(tǒng)會顯示一個過渡的畫面然后調(diào)用main()函數(shù)來加載程序。

iPhone應用程序中生命周期詳解是本文要介紹的內(nèi)容,不多說,直接進入本文的話題。任何程序的生命周期都是指從程序加載到程序結束這一短時間。在iPhone中,用戶通過點擊主頁面上的程度圖標啟動一個程序。點擊后,系統(tǒng)會顯示一個過渡的畫面然后調(diào)用main()函數(shù)來加載程序。

從這一刻開始,大量的初始化工作都交給了UIKit,它加載程序的用戶界面并啟動事件循環(huán)。在時間循環(huán)過程中,UIKit將傳入的時間和自定義對象相關聯(lián)并響應程序的命令事件。如果用戶的某個操作引起程序的退出,UIKit會通知程序并開始結束程序過程。

下圖簡單的反應了iPhone程序的周期。

iPhone應用程序中生命周期詳解

iPhone程序中,main()函數(shù)很少被使用。絕大多數(shù)實際的工作都交由UIApplicationMain()函數(shù)來處理。因此當你在Xcode中新建一個工程時,任何工程的模板生成的main()函數(shù)幾乎都是一樣的,代碼如下:

  1. #import <UIKit/UIKit.h>     
  2. int main(int argc, char *argv[])    
  3. {    
  4.     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];    
  5.     int retVal = UIApplicationMain(argc, argv, nil, nil);    
  6.     [pool release];    
  7.     return retVal;    
  8. }    
  9. #import <UIKit/UIKit.h> 
  10. int main(int argc, char *argv[])  
  11. {  
  12.     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  
  13.     int retVal = UIApplicationMain(argc, argv, nil, nil);  
  14.     [pool release];  
  15.     return retVal;  
  16. }  

main()函數(shù)主要完成3個工作:

1、它創(chuàng)建了一個自動釋放池;

2、調(diào)用UIApplicationMain()函數(shù);

3、釋放自動釋放池。一般來說,開發(fā)者不需要修改main()函數(shù)。

UIApplicationMain()函數(shù)是初始化程序的核心,它接受4個參數(shù),并且開發(fā)者永遠不要修改傳入的這4個參數(shù)。其中argc和argv兩個參數(shù)來自于main()接受的兩個參數(shù);另外兩個String型參數(shù)分別表示程序的主要類(principal class)和代理類(delegate class)。

如果主要類(principal class)為nil,則默認為UIApplication;如果代理類(delegate class)為nil,則程序假設程序的代理來自Main nib文件。如果這兩個參數(shù)任意一個不為nil,則UIApplicationMain()函數(shù)則會根據(jù)參數(shù)創(chuàng)建相應的功能類。因此,如果程序中使用自定義的UIApplication類的子類(不建議繼承UIApplication類建立自定義的子類),你需要將你的自定義類名作為第3個參數(shù)傳進來。

小結:iPhone應用程序中生命周期詳解的內(nèi)容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關推薦

2011-07-20 15:58:58

iPhone 應用程序 生命周期

2015-07-09 15:42:48

ios應用生命周期

2013-07-31 14:50:32

Windows PhoWP應用程序生命周期

2009-06-24 10:34:39

JSF生命周期JSF應用程序

2014-07-11 11:09:10

App應用程序生命周期

2013-09-26 11:20:34

Informatica

2012-05-28 15:37:20

WP程序生命周期

2010-04-02 09:02:02

ASP.NET MVC

2014-02-24 10:50:32

DevOps云應用

2023-12-21 08:00:00

ChatGPT人工智能大型語言模型

2014-09-28 11:28:02

Android應用程序生命周期

2010-08-01 15:29:04

AndroidDalvik

2025-04-28 01:22:00

2012-08-16 09:38:38

ASP.NET

2012-06-20 10:29:16

敏捷開發(fā)

2012-04-28 13:23:12

Java生命周期

2010-01-26 17:00:31

Android生命周期

2014-07-16 13:39:30

Windows Pho

2011-07-19 14:36:32

iPhone

2011-07-26 09:41:23

iPhone xcode Mac OS X
點贊
收藏

51CTO技術棧公眾號