代理設(shè)計(jì)模式
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供泰興網(wǎng)站建設(shè)、泰興做網(wǎng)站、泰興網(wǎng)站設(shè)計(jì)、泰興網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、泰興企業(yè)網(wǎng)站模板建站服務(wù),十多年泰興做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
代理設(shè)計(jì)模式,也稱“委托”,顧名思義就是委托別人去做事情
在代理模式中,一方稱為委托方,另一方稱為代理方。
委托方和代理方通過協(xié)議聯(lián)系到一起。
當(dāng)委托方想要讓代理方做事情時(shí)只需向代理發(fā)送代理消息

代理的作用:
1)對(duì)象間傳遞事件 :孩子告訴媽媽餓了
2)對(duì)象間傳遞數(shù)值 :告訴媽媽餓了的同時(shí)告訴想吃什么
代理方法中使用參數(shù)
3)為自身的屬性賦值 :孩子告訴媽媽餓了同時(shí)要得到媽媽做的食物
代理方法中使用返回值
代理設(shè)計(jì)模式的使用步驟
委托方:提出代理協(xié)議
@protocol AMViewDelegate <NSObject> @optional - (void) view:(AMView*) view detailInfoWithState:(BOOL) state; @end
2. 委托方:添加代理對(duì)象屬性
@interface AMView : UIView @property (nonatomic, weak) id<AMAppViewDelegate> delegate;
3. 代理方:遵循代理協(xié)議
@interface ViewController() <AMAppViewDelegate>
4. 代理方:成為委托方的代理者
view.delegate = self;
5. 代理方:實(shí)現(xiàn)代理方法
- (void) view:(AMView*) view detailInfoWithState:(BOOL) state
{
//...
}6. 委托方:通過代理屬性調(diào)用代理方法
- (IBAction) nameBtnClicked:(id) sender {
if ( self.delegate && [self.delegate respondsToSelector:@selector(view:detailInfoWithState:] ) {
[self.delegate view:self detailInfoWithState:NO];
}
}
本文名稱:iOS開發(fā)設(shè)計(jì)模式之代理
URL網(wǎng)址:http://www.chinadenli.net/article38/gpddsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、服務(wù)器托管、定制開發(fā)、用戶體驗(yàn)、虛擬主機(jī)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)