代理垦写、Block、通知彰触、KVO

1.代理
代理是:梯投。

2.Block
delegate和block的作用都是用于兩個類之間的回傳數(shù)據(jù),即當(dāng)一個類創(chuàng)建了另一個類的實例的時候,想從被創(chuàng)建的類傳遞信息到創(chuàng)建它的類(例:比較常見的是分蓖,tableview類中創(chuàng)建的cell類想將cell類的事件傳遞到tableview類尔艇,例2:修改信息的頁面,比如修改用戶名是點擊用戶名回到下一級頁面修改么鹤,修改后返回到本級终娃。也要用的數(shù)據(jù)的回傳)。
a蒸甜、delegate和block的差別:
1棠耕、delegate運(yùn)行成本低。block成本很高的柠新。
block出棧需要將使用的數(shù)據(jù)從棧內(nèi)存拷貝到堆內(nèi)存窍荧,當(dāng)然對象的話就是加計數(shù),使用完或者block置nil后才消除恨憎;delegate只是保存了一個對象指針蕊退,直接回調(diào),沒有額外消耗憔恳。相對C的函數(shù)指針瓤荔,只多做了一個查表動作 。

3.代理和Block的區(qū)別:http://www.reibang.com/p/4e829fa34494

4.通知;
它是一個單例對象钥组,允許當(dāng)事件發(fā)生時通知一些對象输硝。它允許我們在低程度耦合的情況下,滿足控制器與一個任意的對象進(jìn)行通信的目的者铜。這種模式的基本特征是為了讓其他的對象能夠接收到在該controller中發(fā)生某種事件而產(chǎn)生的消息腔丧,controller用一個key(通知名稱)。這樣對于controller來說是匿名的作烟,其他的使用同樣的key來注冊了該通知的對象(即觀察者)能夠?qū)νㄖ氖录鞒龇磻?yīng)愉粤。

優(yōu)勢:1.不需要編寫多少代碼,實現(xiàn)比較簡單拿撩;2.對于一個發(fā)出的通知衣厘,多個對象能夠做出反應(yīng),即1對多的方式實現(xiàn)簡單

缺點:1.在編譯期不會檢查通知是否能夠被觀察者正確的處理压恒;
2.通知發(fā)出后影暴,controller不能從觀察者獲得任何的反饋信息。
3.在釋放注冊的對象時探赫,需要在通知中心取消注冊型宙;
4.在調(diào)試的時候應(yīng)用的工作以及控制過程難跟蹤;

5.代理和通知:
我個人不是很喜歡使用通知中心伦吠。我發(fā)現(xiàn)用通知中心很難把握應(yīng)用的執(zhí)行流程妆兑。UserInfo dictionaries的keys到處傳遞導(dǎo)致失去了同步魂拦,而且在公共空間需要定義太多的常量。對于一個工作于現(xiàn)有的項目的開發(fā)者來說搁嗓,如果過分的使用通知中心芯勘,那么很難理解應(yīng)用的流程。
我覺得使用命名規(guī)則好的協(xié)議和協(xié)議方法定義對于清晰的理解controllers間的通信是很容易的腺逛。努力的定義這些協(xié)議方法將增強(qiáng)代碼的可讀性荷愕,以及更好的跟蹤你的app。
當(dāng)然會有delegation模式不適合的例外情況出現(xiàn)棍矛,而且notification可能更加有效安疗。例如:應(yīng)用中所有的controller需要知道一個事件。然而這些類型的場景很少出現(xiàn)够委。另外一個例子是當(dāng)你建立了一個架構(gòu)而且需要通知該事件給正在運(yùn)行中應(yīng)用茂契。
根據(jù)經(jīng)驗,如果是屬性層的時間慨绳,不管是在不需要編程的對象還是在緊緊綁定一個view對象的model對象,我只使用觀察真竖。

6.KVO是脐雪。。恢共。.
它只能用來對屬性作出反應(yīng)战秋,而不會用來對方法或者動作作出反應(yīng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末讨韭,一起剝皮案震驚了整個濱河市脂信,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌透硝,老刑警劉巖狰闪,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異濒生,居然都是意外死亡埋泵,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門罪治,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丽声,“玉大人,你說我怎么就攤上這事觉义⊙闵纾” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵晒骇,是天一觀的道長霉撵。 經(jīng)常有香客問我磺浙,道長,這世上最難降的妖魔是什么喊巍? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任屠缭,我火速辦了婚禮,結(jié)果婚禮上崭参,老公的妹妹穿的比我還像新娘呵曹。我一直安慰自己,他們只是感情好何暮,可當(dāng)我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布奄喂。 她就那樣靜靜地躺著,像睡著了一般海洼。 火紅的嫁衣襯著肌膚如雪跨新。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天坏逢,我揣著相機(jī)與錄音域帐,去河邊找鬼。 笑死是整,一個胖子當(dāng)著我的面吹牛肖揣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播浮入,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼龙优,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了事秀?” 一聲冷哼從身側(cè)響起彤断,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎易迹,沒想到半個月后宰衙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡睹欲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年菩浙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片句伶。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡劲蜻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出考余,到底是詐尸還是另有隱情先嬉,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布楚堤,位于F島的核電站疫蔓,受9級特大地震影響含懊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衅胀,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一岔乔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧滚躯,春花似錦雏门、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至丧凤,卻和暖如春募闲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背愿待。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工浩螺, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仍侥。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓年扩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親访圃。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 是什么/特性/優(yōu)點看铆,缺點徽鼎。 代理:delegate是委托模式.委托模式是將一件屬于委托者做的事情,交給另外一個被委...
    my__life閱讀 857評論 0 0
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,160評論 30 470
  • iOS網(wǎng)絡(luò)架構(gòu)討論梳理整理中弹惦。否淤。。 其實如果沒有APIManager這一層是沒法使用delegate的棠隐,畢竟多個單...
    yhtang閱讀 5,206評論 1 23
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理石抡,服務(wù)發(fā)現(xiàn),斷路器助泽,智...
    卡卡羅2017閱讀 134,696評論 18 139
  • 設(shè)計模式 1.delegate和notification什么區(qū)別啰扛,什么情況使用? 2.描述一下KVO和KVC嚎京。 K...
    丶逐漸閱讀 1,958評論 3 2