代理模式
委托是一種設(shè)計(jì)模式,它允許類或結(jié)構(gòu)體將一些需要它們負(fù)責(zé)的功能交由(委托)給其他的類型。
委托模式的實(shí)現(xiàn)很簡(jiǎn)單: 定義協(xié)議來(lái)封裝那些需要被委托的函數(shù)和方法, 使其遵循者擁有這些被委托的函數(shù)和方法。
委托模式可以用來(lái)響應(yīng)特定的動(dòng)作或接收外部數(shù)據(jù)源提供的數(shù)據(jù),而無(wú)需要知道外部數(shù)據(jù)源的類型。
因?yàn)镺bject-C是不支持多繼承的,所以很多時(shí)候都是用Protocol(協(xié)議)來(lái)代替。Protocol(協(xié)議)只能定義公用的一套接口,但不能提供具體的實(shí)現(xiàn)方法。也就是說(shuō),它只告訴你要做什么,但具體怎么做,它不關(guān)心。
協(xié)議的作用:必須實(shí)現(xiàn)(委托給它, 做了之后必須告訴我完成的結(jié)果) ? ? ?可選實(shí)現(xiàn)(可以全部實(shí)現(xiàn)等同于必須實(shí)現(xiàn),也可以都不實(shí)現(xiàn),它做完之后不用告我)
2. 委托代理(Delegate)傳值:
它本身是一個(gè)設(shè)計(jì)模式,它的意思是委托別人去做某事。
兩個(gè)類之間的傳值,類A調(diào)用類B的方法,類B在執(zhí)行過(guò)程中遇到問(wèn)題通知類A,這時(shí)候我們需要用到代理(Delegate)。
控制器(Controller)與控制器(Controller)之間的傳值,從a1跳轉(zhuǎn)到a2,再?gòu)腶2返回到a1時(shí)需要通知a1更新UI或者是做其它的事情,這時(shí)候我們就用到了代理(Delegate)傳值。
小干貨
破解WIFI教程
首先制作啟動(dòng)盤(pán):
一、
點(diǎn)擊Create建繼續(xù)