iPhone應用程式委託

2021-06-09 14:03:05 字數 968 閱讀 9014

iphone的軟體棧有好幾層組成,而應用程式是位於棧裡面最高的抽象層,系統核心服務(作業系統層)則是位於最底層的。這中間還有**層、cocoatouch層、核心服務層等等 ,但一般在開發應用程式的過程中,與我們主要打交道的是gui框架和cocoatouch層所提供的物件導向抽象。cocoa的foundation框架包含了基礎資料類、基礎工具類等主要部分,幾乎所有的cocoa類都是從乙個根類物件nsobject繼承來的。本次主要說明應用程式層的事件委託與應用程式生命週期。

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

int main(int argc,char*argv}

在該nib檔案(用ib開啟)中,可以看到有幾個圖示,其中有乙個圖示是應用程式委託的圖示。其它的好像是檢視控制器圖示以及乙個視窗圖示。另外有file's owner (擁有當前nib檔案的物件)以及firstresponser(指示該元件能夠第乙個接收使用者的輸入)兩個圖示。

那麼應用程式是如何將該委託物件與應用程式相連的呢?

iphone應用程式都有乙個視窗物件,應用程式委託中有兩個連線,乙個連線到該nib檔案的視窗物件,乙個連線到該nib檔案的檢視控制器上。一般我們可以通過定製檢視控制器的行為來控制我們的顯示。

整個過程就是這樣的了。系統先呼叫main函式,然後main函式呼叫uiaplicationmain函式,這個函式利用info.plist檔案來尋找應用程式的主nib檔案,在該檔案中找到應用程式的乙個委託,這個委託又有兩個連線,可以接連到乙個視窗和檢視控制器。然後這個檢視控制器又可以定製我們的顯示行為(可以用**定製也可以用nib檔案定製),這就是啟動應用程式的整個過程。

接下 來,委託可以做什麼呢?

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

深度解析iPhone開發應用程式委託

cocoa的foundation框架包含了基礎資料類 基礎工具類等主要部分,幾乎所有的cocoa類都是從乙個根類物件nsobject繼承來的。本次主要說明應用程式層的事件委託與應用程式生命週期。iphone開發應用程式委託是本文要介紹的內容,主要講解的是應用程式的委託。iphone的軟體棧有好幾層組...

ios應用程式和應用程式委託

其實說白了,就是乙個類將自己不願意實現的方法以協議的方式定義,同時在這個類中包含有乙個型別為id 泛型類 的例項變數,如果另乙個類實現了這個協議,那麼另外的這個類就可以作為第乙個類的委託物件,前乙個類將自己不願意實現的類委託給後乙個類。因為第乙個類擁有第二個類的引用,所有第乙個類的例項可以直接呼叫第...

iphone應用程式結構

classes 源程式檔案 h m other sources main.m 等,不需要程式設計師修改 prefix.pch resources 介面檔案 xib 配置檔案 info.plist frameworks 鏈結的庫 targets 專案的不同target 資源 編譯配置不同 execut...