成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone開發進階(2)iPhone應用程序的啟動過程

移動開發 iOS
iPhone應用程序的啟動過程是本文要介紹的內容,它是怎樣啟動應用程序,初始化的呢,這些都是通過 UIApplicationMain 來實現的。

iPhone應用程序啟動過程是本文要介紹的內容,上一回我們看到了iPhone的入口函數main,這之后它有是怎樣啟動應用程序,初始化的呢,這些都是通過 UIApplicationMain 來實現的,我們來看啟動過程

其啟動的流程圖大致如下圖所示:

iPhone應用程序的啟動過程

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

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

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

上面的意思是指,在應用程序啟動的時候,需要從nib文件中加載名為 MainWindow 的資源。

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

iPhone應用程序的啟動過程

Interface Builder 中有以下4個項目:

File’s Owner 對象,實際上就是 UIApplication 的實例。

First Responder 對象。每個程序都會有一個***響應者,比如鼠標事件,鍵盤事件等,它就是對應的那個對象。比如多文檔程序中,menu的響應事件一般都是連接到FirstResponder中去的,因為主界面一般都在別的nib里面,此時的FirstResponder就是你的那個主nib的FileOwner。

Delegate 對象。

Window。應用程序啟動的時候所顯示的窗口。

應用程序啟動之后,像下面圖一樣,你可以定制自己的行為,如圖:

iPhone應用程序的啟動過程

程序啟動之后,會發送消息給 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]  

是顯示該窗口。

總結以上的內容,iPhone應用程序的引導過程如下所示:

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

或者看下面的圖來理解。

iPhone應用程序的啟動過程

小結:iPhone應用程序啟動過程的內容介紹完了,希望通過本文的學習能對你有所幫助!如果想繼續深入了解的話,請參考以下幾篇文章:

iPhone開發進階(1)iPhone應用程序項目構成案例實現

iPhone開發進階(3)定制UIViewController案例實現

iPhone開發進階(4)編程定制UIButton案例實現

責任編輯:zhaolei 來源: 博客園
相關推薦

2011-08-17 16:12:20

iPhone應用程序

2011-07-21 10:47:37

iPhone Cocoa 委托

2011-08-10 09:31:33

開發iPhone應用程

2011-08-12 14:54:45

iPhone委托

2011-08-05 13:49:53

iPhone 應用 開發

2011-07-26 09:41:23

iPhone xcode Mac OS X

2010-08-27 10:41:41

iPhone核心應用程序

2011-08-17 16:23:31

iPhone開發UIViewContr

2011-07-26 11:13:15

iPhone PXL

2011-08-17 16:29:12

iPhone開發UIButton

2011-04-29 10:46:32

iPhone開發入門iPhoneiOS

2012-05-24 15:49:35

HTML5

2011-07-20 15:58:58

iPhone 應用程序 生命周期

2011-07-21 15:56:32

iPhone 截屏

2011-07-27 17:30:40

iPhone Locate 定位

2011-07-19 14:36:32

iPhone

2014-06-19 14:30:28

Android應用程序進程啟動

2014-06-19 14:54:11

Android應用程序進程啟動

2014-06-19 14:59:40

Android應用程序進程啟動

2014-06-20 11:20:37

Android應用程序進程啟動
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品九九 | 欧美三级成人理伦 | 国产一二三区免费视频 | 国产免费福利小视频 | 九九精品热| 9久9久 | 久久91精品国产 | 国产福利一区二区 | 亚洲国产视频一区 | 亚洲二区视频 | 伊人色综合久久久天天蜜桃 | 青青久在线视频 | 欧洲成人 | www.国产精品| 欧美日韩综合 | 亚洲欧美在线视频 | 在线亚洲电影 | 日韩综合在线视频 | h片在线看 | 精品一级| 久久国产精品免费 | 日韩精品极品视频在线观看免费 | 91久久久www播放日本观看 | 在线视频99 | 久久综合九色综合欧美狠狠 | 国产成人免费在线 | 久久久综合色 | 伊人伊成久久人综合网站 | 欧美aa在线 | 亚洲高清一区二区三区 | 亚洲欧美日韩一区 | 国产精品成人品 | 亚洲人成在线观看 | 中文字幕在线观看日韩 | 久久综合伊人 | 天天天久久久 | 国产高清在线观看 | 精品九九| 欧美在线观看一区二区 | 国内精品久久久久久 | 婷婷二区|