委托代理(delegate)

心得:delegate的命名要準(zhǔn)確,盡量看名字就知道用法。delegate和通知有的用法有些象,但是前者是單對(duì)單的,后者是單對(duì)多的情況。

注意:在dealloc要把delegate至為nil,還有就是delegate設(shè)置屬性的時(shí)候要用assign,不要用retain。

委托是指給一個(gè)對(duì)象提供機(jī)會(huì)對(duì)另一對(duì)象中的變化做出反應(yīng)或者相應(yīng)另一個(gè)對(duì)象的行為。其基本思想是協(xié)同解決問(wèn)題。

在程序中:一般情況下

1.委托需要做的工作有:

1.1定義協(xié)議與方法

1.2聲明委托變量

1.3設(shè)置代理

1.4通過(guò)委托變量調(diào)用委托方法

2.代理需要做的工作有:

2.1遵循協(xié)議

2.2實(shí)現(xiàn)委托方法

下面講解一下使用委托實(shí)現(xiàn)頁(yè)面?zhèn)髦档慕鉀Q方法:

加入我們有兩個(gè)ViewController 分別為:ViewController和TrendViewController

一 .需求:

我們要實(shí)現(xiàn)這樣一個(gè)功能,當(dāng)點(diǎn)擊ViewController視圖上的一個(gè)按鈕的時(shí)候立刻跳轉(zhuǎn)到TrendViewController,并且把一個(gè)String字符串傳遞過(guò)去。

二.解決方案:

1.在ViewController.h文件的最上邊聲明協(xié)議如下:

2.繼續(xù)在ViewController.h中聲明一個(gè)委托變量


3.進(jìn)入ViewController.m文件在點(diǎn)擊按鈕事件函數(shù)中,設(shè)置代理


4.進(jìn)入TrendViewController.h ,引用ViewController的頭文件,并添加代理協(xié)議如下:


5.實(shí)現(xiàn)代理函數(shù):


運(yùn)行一下 OK.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。 前言:因?yàn)镺bject-C是不支持多繼承的,所以很多時(shí)候都是...
    LeaderBiao閱讀 518評(píng)論 0 2
  • Protocol(協(xié)議) 一個(gè)協(xié)議是由一組方法組成,這組方法分為兩類(lèi),@required:必須實(shí)現(xiàn)的方法 ,@op...
    逆戰(zhàn)逆的態(tài)度閱讀 478評(píng)論 0 0
  • *面試心聲:其實(shí)這些題本人都沒(méi)怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,648評(píng)論 30 472
  • 1.OC里用到集合類(lèi)是什么? 基本類(lèi)型為:NSArray,NSSet以及NSDictionary 可變類(lèi)型為:NS...
    輕皺眉頭淺憂(yōu)思閱讀 1,481評(píng)論 0 3
  • 風(fēng) 有 多 美 雪 竹 風(fēng)拂過(guò)你的面頰, 花香撲來(lái)。 白楊樹(shù)嘩啦啦地歌唱, 風(fēng)在飛舞。 昨夜空...
    xuezhu766閱讀 297評(píng)論 0 0

友情鏈接更多精彩內(nèi)容