IOS中的委託模式

在IOS中通過存在着很多委託模式的應用。


在iOS中使用三層架構:持久層,業務邏輯層,表示層。

業務邏輯層定義BusinessLayerDelegate,表示層中實現業務邏輯層中的delegate協議(在業務邏輯層中聲明屬性id<BusinessLayerDelegate> delegate),持久層定義PersistentLayerDelegate,業務邏輯層實現持久層的delegate協議(在持久層聲明屬性id<PersistentLayerDelegate> delegate),當持久層查詢完畢,失敗則在block中調用delegate業務邏輯層中實現的error的delegate方法,業務邏輯層中error的delegate方法則調用表示層中error的delegate方法,在表示層中可以對這條信息進行處理,提醒用戶。

view

在tableview中delegate是viewcontroller,當view加載完畢時,會回調成功加載的block,在block中調用view controller中實現的delegate的成功加載代碼,進行處理。

tableview的datasource協議,tableview視圖將要加載時調用實現datasource協議的對象的數據方法,獲得要顯示幾行,什麼內容等信息。

delegate通過回調進行調用,datasource主動去調用數據方法。

application

從UIApplication.h中看來,iOS在main.m中啓動,通過

int UIApplicationMain(int argc, char *argv[],NSString *principalClassName,NSString *delegateClassName);

方法將delegate傳給UIApplication,當應用launch,finishLaunch時會回調delegate中對應的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章