我理解的代理就是我想做一件事蒙揣,但是這件事在我的管理范圍外,那我就拜托能管理操作這件事的人來做开瞭。
比如懒震,自定義一個cell,在cell上放一張圖片嗤详,當(dāng)我點(diǎn)擊圖片的時候想把圖片放大个扰。放大的圖片用其他的viewController來顯示,這就要navigationController來push葱色。而我自定義的cell沒有navigationController递宅,所以這個cell不能push一個viewController來顯示大圖。但是苍狰,放自定義cell的這個TableView所在的viewController有navigationController办龄,cell就可以拜托這個viewController來push一個viewController來顯示大圖。
具體來說一下:
在自定義的cell上添加UIButton ,給其一個點(diǎn)擊事件 bigImage:
點(diǎn)擊事件要的效果是放大一張圖片淋昭,如上所說土榴,cell完成不了,就拜托TableView來執(zhí)行响牛。重點(diǎn)來了,怎么拜托呢赫段?流程是啥呀打?
首先,列清單:
RepairsServeCellDeleagte------清單名稱
- (void)pushBigImageWithUrl:(NSString *)urlStr糯笙;-----------要執(zhí)行的事
來一個delegate中間接洽
然后拜托TableView贬丛,TableView表示收到。
在點(diǎn)擊事件中给涕,self.delegate執(zhí)行的 pushBigImageWithUrl:?
在TableView中
這就表示 TableView要執(zhí)行pushBigImageWithUrl: 這個方法豺憔,so,現(xiàn)在就在TableView所在的viewController中實(shí)現(xiàn)這個方法够庙。
TableView利用自己所在viewController的navigationController順利push出一個viewController來顯示大圖恭应。