委託模式:兩個物件間,不能夠直接聯絡,需要乙個第三方物件,幫助他們聯絡,這一種模式,我們稱為」委託模式「。
例:乙個簡單的委託模式
房東—–>委託—>中介—->賣房—>買家
1、先建立兩個類househost類和housesale類,以及協議檔案househostprotocol:在協議檔案中我們建立兩個方法:
@protocol househostprotocol
-(void)mustsalehouse;
-(void)paymoney;
@end
2、判斷房東是否有向中介提交委託(登記),這裡需要在househost類中增加乙個判斷登記的方法:
@inte***ce househost : nsobject
@property(nonatomic,assign)id delegate;
//登記房子
-(void)registerhouse;
//新增乙個方法,表示房東是否收到錢
-(void)receivemoney;
@end
3、實現登記的方法:
@implementation
househost
-(void)registerhouse
}-(void)receivemoney
4、在housesale類中實現協議中的方法:先導入標頭檔案
@inte***ce
housesale : nsobject
@property(nonatomic,strong)househost *housrhost;
@end
實現方法:
@implementation
housesale
-(void)mustsalehouse
-(void)paymoney
@end
5、在主函式中除錯
//分別建立房東物件和中介物件
househost *h1=[househost new];
housesale *s1=[housesale new];
//設定中介成為房東的**
h1.delegate=s1;
s1.housrhost=h1;
//呼叫房東方法
[h1 registerhouse];
OC中的單例模式和委託模式
單例模式 什麼時候使用單例模式 在乙個工程中,一些類只需要乙個例項變數,我們就可以將這些類設計成單例模式 單例模式的作用?當乙個 類a 被設計成單例模式時,有 類a 構造出的例項物件之於其他類來講為全域性例項物件.即在每乙個類中由 a 構造出的例項物件,都未相同的物件.在oc中如何將乙個類設計成單例...
OC中的單例模式和委託模式
單例模式是設計模式的一種,主要的作用是用於設計約束或者為了控制對有限資源的訪問 首先新建乙個類,在類中新增單例 類名 方法名 通常share,defluat等開頭 在.m檔案中建立全域性靜態例項 static 類名 st nil 賦值nil 類名 方法名 return st id allocwith...
iOS 設計模式 委託模式
委託是指給乙個物件提供機會對另一物件中的變化做出反應或者相應另乙個物件的行為。其基本思想是協同解決問題。以上情況,結果都一樣 物件b是物件a的 delegate 1 委託 a 需要做的工作有 1.定義 協議,協議名稱的命名規範 控制項類名 delegate 2.定義 方法 3.設定 delegate...