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

深度解析iPhone開發應用程序委托

移動開發 iOS
Cocoa的Foundation框架包含了基礎數據類、基礎工具類等主要部分,幾乎所有的Cocoa類都是從一個根類對象NSObject繼承來的。本次主要說明應用程序層的事件委托與應用程序生命周期。

iPhone開發應用程序委托是本文要介紹的內容,主要講解的是應用程序的委托iPhone的軟件棧有好幾層組成,而應用程序是位于棧里面***的抽象層,系統核心服務(操作系統層)則是位于***層的。這中間還有媒體層、Cocoa Touch層、核心服務層等等 ,但一般在開發應用程序的過程中,與我們主要打交道的是GUI框架和Cocoa Touch層所提供的面向對象抽象。

Cocoa的Foundation框架包含了基礎數據類、基礎工具類等主要部分,幾乎所有的Cocoa類都是從一個根類對象NSObject繼承來的。本次主要說明應用程序層的事件委托與應用程序生命周期。

為了說明應用程序,從main開始。

  1. int main(int argc,char *argv[]}{  
  2.            NSAutoreleasePool *pool  = [[NSAutoreleasePool alloc] init];  
  3.            int retVal = UIApplicationMain(argc,argv,nil,nil);  
  4.            [pool release];  
  5.            return retVal;  

這是一個典型的C風格主函數,其功能核心部分在于調用了UIApplicationMain函數來啟動事件循環并開始運行應用程序,注意主函數的第三個以及第四個參數,這兩個參數指明了應用程序的主類和應用程序委托。而這個委托就是一個處理應用程序生命周期管理事件的類。如果指定是nil,則被告知需要從一個nib文件來裝入這些類對象。在Info.plist文件中,指定了一個nib文件,默認情況下是MainWindow.xib,接下來的事情就是 UIkit在xib文件中尋找應用的委托了。
     
在該nib文件(用IB打開)中,可以看到有幾個圖標,其中有一個圖標是應用程序委托的圖標。其它的好像是視圖控制器圖標以及一個窗口圖標。另外有File's Owner (擁有當前nib文件的對象)以及First Responser(指示該組件能夠***個接收用戶的輸入)兩個圖標。
那么應用程序是如何將該委托對象與應用程序相連的呢?

iPhone應用程序都有一個窗口對象,應用程序委托中有兩個連接,一個連接到該nib文件的窗口對象,一個連接到該nib文件的視圖控制器上。一般我們可以通過定制視圖控制器的行為來控制我們的顯示。

整個過程就是這樣的了。系統先調用main函數,然后main函數調用UIAplicationMain函數,這個函數利用Info.plist文件來尋找應用程序的主nib文件,在該文件中找到應用程序的一個委托,這個委托又有兩個連接,可以接連到一個窗口和視圖控制器。然后這個視圖控制器又可以定制我們的顯示行為(可以用代碼定制也可以用nib文件定制),這就是啟動應用程序的整個過程。

接下來,委托可以做什么呢?

應用程序的生命周期由生命周期方法控制,這些生命周期方法與應用委托相關的,當然,也是與由它裝入的視圖控制器相關的。比如,應用程序剛剛啟動完畢,調用委托的applicationDidFinishLaunching:方法。
為什么需要委托呢?

一個簡單的想法是,一個對象能夠有一個單一的委托對象,可以在某些事件發生的時候來調用該委托對象的事件方法。委托對象就像一個職業能手一樣,它總是說:沒事,當這個事件發生的時候,你告訴我就好了。而另一個接收事件的對象則有很多其它的業務事情需要處理:我實在沒時間處理這些事情,我也不知道我應該要做什么,所以我交給你吧。

委托對象由UIApplicationDelegate所定義,因此對于一個類,如果想成為應用程序的委托,一定需要在頭文件中聲明它實現這個協議,然后在類的實現中,實現所有的必須方法。

小結:深度解析iPhone開發應用程序委托的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-07-21 10:47:37

iPhone Cocoa 委托

2011-07-26 09:41:23

iPhone xcode Mac OS X

2010-08-27 10:41:41

iPhone核心應用程序

2011-08-05 13:49:53

iPhone 應用 開發

2011-07-26 11:13:15

iPhone PXL

2011-08-10 09:31:33

開發iPhone應用程

2011-04-29 10:46:32

iPhone開發入門iPhoneiOS

2011-08-17 16:12:20

iPhone應用程序

2011-08-17 16:16:29

iPhone應用程序啟動過程

2011-06-09 09:12:12

QT symbian

2011-07-21 15:56:32

iPhone 截屏

2011-07-27 17:30:40

iPhone Locate 定位

2011-07-19 14:36:32

iPhone

2011-07-20 15:58:58

iPhone 應用程序 生命周期

2010-08-12 15:44:25

Flex應用程序

2009-11-16 17:33:47

2010-02-01 14:05:03

2010-02-02 15:37:11

2011-08-19 13:45:14

iPhone應用iPhone OS數據

2012-02-08 15:06:31

ibmdw
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久涩| 99久久婷婷国产综合精品首页 | 91看片网址| 在线免费观看视频黄 | 亚洲精品视频在线看 | 嫩草视频在线免费观看 | av网站免费在线观看 | 国产精品黄视频 | 一级黄色片一级黄色片 | 国产伦精品一区二区三区在线 | 亚洲综合二区 | 色视频网站 | 在线观看特色大片免费网站 | 国产一区日韩在线 | 欧美性a视频 | 精品久久久久久久久久久 | 国产精品久久久久久久久图文区 | 激情五月婷婷综合 | 国产精品亚洲成在人线 | 日韩av在线不卡 | 成人午夜视频在线观看 | 激情a | 日韩精品区 | 欧美日韩中文在线 | 亚洲精品456 | 久草热在线 | 四虎网站在线观看 | 成人免费在线视频 | 亚洲欧洲一区 | 国产精品久久 | 中文字幕亚洲视频 | 91网站视频在线观看 | 成人激情视频在线观看 | 欧美日韩中文在线 | 成人欧美一区二区三区在线观看 | 精品一区二区三区免费视频 | 日韩视频在线一区 | 欧美黄页| 欧美一区二区三区在线 | 亚洲精品一二三 | 99精彩视频 |