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

iPhone開發(fā)進(jìn)階(2)iPhone應(yīng)用程序的啟動(dòng)過程

移動(dòng)開發(fā) iOS
iPhone應(yīng)用程序的啟動(dòng)過程是本文要介紹的內(nèi)容,它是怎樣啟動(dòng)應(yīng)用程序,初始化的呢,這些都是通過 UIApplicationMain 來實(shí)現(xiàn)的。

iPhone應(yīng)用程序啟動(dòng)過程是本文要介紹的內(nèi)容,上一回我們看到了iPhone的入口函數(shù)main,這之后它有是怎樣啟動(dòng)應(yīng)用程序,初始化的呢,這些都是通過 UIApplicationMain 來實(shí)現(xiàn)的,我們來看啟動(dòng)過程。

其啟動(dòng)的流程圖大致如下圖所示:

iPhone應(yīng)用程序的啟動(dòng)過程

  1. int retVal = UIApplicationMain(argc, argv, nil, nil); 

通過上面的語句,創(chuàng)建UIApplication實(shí)例。同時(shí),查看應(yīng)用程序的 Info.plist 文件(該文件記錄了一些應(yīng)用程序的基礎(chǔ)信息,比如程序名稱,版本,圖標(biāo)等)。該文件還包含應(yīng)用程序資源文件的名稱(nib文件,名稱用NSMainNibFile鍵指定)。如下所示:

  1. <key>NSMainNibFile</key> 
  2.    <string>MainWindow</string> 

上面的意思是指,在應(yīng)用程序啟動(dòng)的時(shí)候,需要從nib文件中加載名為 MainWindow 的資源。

其實(shí),nib文件也是參照項(xiàng)目中Resources組中MainWindow.xib文件,我們雙擊該文件,啟動(dòng)Interface Builder后可以看到下面的圖示:

iPhone應(yīng)用程序的啟動(dòng)過程

Interface Builder 中有以下4個(gè)項(xiàng)目:

File’s Owner 對(duì)象,實(shí)際上就是 UIApplication 的實(shí)例。

First Responder 對(duì)象。每個(gè)程序都會(huì)有一個(gè)***響應(yīng)者,比如鼠標(biāo)事件,鍵盤事件等,它就是對(duì)應(yīng)的那個(gè)對(duì)象。比如多文檔程序中,menu的響應(yīng)事件一般都是連接到FirstResponder中去的,因?yàn)橹鹘缑嬉话愣荚趧e的nib里面,此時(shí)的FirstResponder就是你的那個(gè)主nib的FileOwner。

Delegate 對(duì)象。

Window。應(yīng)用程序啟動(dòng)的時(shí)候所顯示的窗口。

應(yīng)用程序啟動(dòng)之后,像下面圖一樣,你可以定制自己的行為,如圖:

iPhone應(yīng)用程序的啟動(dòng)過程

程序啟動(dòng)之后,會(huì)發(fā)送消息給 UIApplicationDelegate 的 applicationDidFinishLaunching 方法,在這里我們完成自己的初始化過程。如下面的代碼。

 

  1. - (void)applicationDidFinishLaunching:(UIApplication *)application {  
  2.  
  3.     // Override point for customization after app launch  
  4.     [window addSubview:viewController.view];  
  5.     [window makeKeyAndVisible];  
  6. }  
  7.  
  8. - (void)dealloc {  
  9.     [viewController release];  
  10.     [window release];  
  11.     [super dealloc];  
  1. [window addSubview:viewController.view] 表示 XXXXXXViewController.xib 、[window makeKeyAndVisible]  

是顯示該窗口。

總結(jié)以上的內(nèi)容,iPhone應(yīng)用程序的引導(dǎo)過程如下所示:

  1. main.m → MainWindow.xib → XXXXXXDelegate.m → XXXXXXViewController.m → XXXXXXViewController.xib  

或者看下面的圖來理解。

iPhone應(yīng)用程序的啟動(dòng)過程

小結(jié):iPhone應(yīng)用程序啟動(dòng)過程的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對(duì)你有所幫助!如果想繼續(xù)深入了解的話,請(qǐng)參考以下幾篇文章:

iPhone開發(fā)進(jìn)階(1)iPhone應(yīng)用程序項(xiàng)目構(gòu)成案例實(shí)現(xiàn)

iPhone開發(fā)進(jìn)階(3)定制UIViewController案例實(shí)現(xiàn)

iPhone開發(fā)進(jìn)階(4)編程定制UIButton案例實(shí)現(xiàn)

責(zé)任編輯:zhaolei 來源: 博客園
相關(guān)推薦

2011-08-17 16:12:20

iPhone應(yīng)用程序

2011-07-21 10:47:37

iPhone Cocoa 委托

2011-08-17 16:23:31

iPhone開發(fā)UIViewContr

2011-08-10 09:31:33

開發(fā)iPhone應(yīng)用程

2011-07-26 09:41:23

iPhone xcode Mac OS X

2010-08-27 10:41:41

iPhone核心應(yīng)用程序

2011-08-12 14:54:45

iPhone委托

2011-08-05 13:49:53

iPhone 應(yīng)用 開發(fā)

2011-07-26 11:13:15

iPhone PXL

2011-08-17 16:29:12

iPhone開發(fā)UIButton

2011-04-29 10:46:32

iPhone開發(fā)入門iPhoneiOS

2014-06-20 11:20:37

Android應(yīng)用程序進(jìn)程啟動(dòng)

2014-06-19 14:30:28

Android應(yīng)用程序進(jìn)程啟動(dòng)

2014-06-19 14:59:40

Android應(yīng)用程序進(jìn)程啟動(dòng)

2014-06-19 14:54:11

Android應(yīng)用程序進(jìn)程啟動(dòng)

2014-06-20 11:05:56

Android應(yīng)用程序進(jìn)程啟動(dòng)

2014-06-20 11:09:35

Android應(yīng)用程序進(jìn)程啟動(dòng)

2014-06-19 14:25:04

Android應(yīng)用程序進(jìn)程啟動(dòng)

2014-06-20 11:24:34

Android應(yīng)用程序進(jìn)程啟動(dòng)

2012-05-24 15:49:35

HTML5
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)