偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

iPhone應(yīng)用程序委托

移動(dòng)開發(fā) iOS
本文主要說明應(yīng)用程序?qū)拥氖录信c應(yīng)用程序生命周期。為了說明應(yīng)用程序,從main開始。先來看詳細(xì)內(nèi)容。

iPhone應(yīng)用程序委托是本文要介紹的內(nèi)容,iPhone的軟件棧有好幾層組成,而應(yīng)用程序是位于棧里面***的抽象層,系統(tǒng)核心服務(wù)(操作系統(tǒng)層)則是位于***層的。

這中間還有媒體層、Cocoa Touch層、核心服務(wù)層等等 ,但一般在開發(fā)應(yīng)用程序的過程中,與我們主要打交道的是GUI框架和Cocoa Touch層所提供的面向?qū)ο蟪橄蟆?strong>Cocoa的Foundation框架包含了基礎(chǔ)數(shù)據(jù)類、基礎(chǔ)工具類等主要部分,幾乎所有的Cocoa類都是從一個(gè)根 類對(duì)象NSObject繼承來的。為了說明應(yīng)用程序,從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;  

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

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

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

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

應(yīng)用程序的生命周期由生命周期方法控制,這些生命周期方法與應(yīng)用委托相關(guān)的,當(dāng)然,也是與由它裝入的視圖控制器相關(guān)的。比如,應(yīng)用程序剛剛啟動(dòng)完畢,調(diào)用委托的applicationDidFinishLaunching:方法。
為什么需要委托呢?

一個(gè) 簡(jiǎn)單的想法是,一個(gè)對(duì)象能夠有一個(gè)單一的委托對(duì)象,可以在某些事件發(fā)生的時(shí)候來調(diào)用該委托對(duì)象的事件方法。委托對(duì)象就像一個(gè)職業(yè)能手一樣,它總是說:沒 事,當(dāng)這個(gè)事件發(fā)生的時(shí)候,你告訴我就好了。而另一個(gè)接收事件的對(duì)象則有很多其它的業(yè)務(wù)事情需要處理:我實(shí)在沒時(shí)間處理這些事情,我也不知道我應(yīng)該要做什 么,所以我交給你吧。

委托對(duì)象由UIApplicationDelegate所定義,因此對(duì)于一個(gè)類,如果想成為應(yīng)用程序的委托,一定需要在頭文件中聲明它實(shí)現(xiàn)這個(gè)協(xié)議,然后在類的實(shí)現(xiàn)中,實(shí)現(xiàn)所有的必須方法。

小結(jié):iPhone應(yīng)用程序委托的內(nèi)容介紹完了,希望本文對(duì)你有所幫助。更多相關(guān)iphone的內(nèi)容請(qǐng)參考編輯推薦。

轉(zhuǎn)載網(wǎng)址:http://hi.baidu.com/zmxiangde_88/blog/item/0b21b6860148ccb26d811945.html

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

2011-08-12 14:54:45

iPhone委托

2011-07-20 15:58:58

iPhone 應(yīng)用程序 生命周期

2011-07-26 09:41:23

iPhone xcode Mac OS X

2010-08-27 10:41:41

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

2011-07-21 15:56:32

iPhone 截屏

2011-07-27 17:30:40

iPhone Locate 定位

2011-07-19 14:36:32

iPhone

2011-08-05 13:49:53

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

2011-07-26 11:13:15

iPhone PXL

2011-07-19 11:12:07

iPhone 控制器

2011-07-26 16:33:56

iPhone Delegate

2011-07-28 13:59:40

iPhone App

2012-05-24 15:49:35

HTML5

2011-08-10 09:31:33

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

2011-07-19 10:42:41

iPhone 應(yīng)用程序 模型

2011-07-19 10:56:15

iPhone 控制器 視圖

2010-09-10 09:50:33

iPhone軟件iPhone

2011-08-10 16:50:10

iPhone生命周期

2011-08-05 14:58:58

iPhone CoreAnimat 動(dòng)畫

2011-08-17 16:12:20

iPhone應(yīng)用程序
點(diǎn)贊
收藏

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