《從零開始學(xué)Swift》學(xué)習(xí)筆記(Day 66)——Cocoa Touch設(shè)計模式及應(yīng)用之通知機制

原創(chuàng)文章,歡迎轉(zhuǎn)載冈闭。轉(zhuǎn)載請注明:關(guān)東升的博客

通知(Notification)機制是基于觀察者(Observer)模式也叫發(fā)布/訂閱(Publish/Subscribe)模式谈撒,是 MVC( 模型-視圖-控制器)模式的重要組成部分廊营。
問題提出
天氣一直是英

國人喜歡討論的話題哼凯,而最近幾年天氣的變化也成為中國人非常關(guān)注的話題锌妻。我會根據(jù)天氣預(yù)報決定是坐地鐵還是開車上班盈包,我的女兒也會根據(jù)天氣預(yù)報決定明天穿哪件衣服沸呐。于是我在移動公司為我的手機定制了天氣預(yù)報短信通知服務(wù),它的工作模型如圖所示呢燥。

66 (2).png

每天氣象局將天氣預(yù)報信息投送給移動運營商崭添,移動運營商的短信中心負(fù)責(zé)把天氣預(yù)報發(fā)送給定制過這項服務(wù)的手機。
在軟件系統(tǒng)中叛氨,一個對象狀態(tài)改變也會連帶影響其他很多對象的狀態(tài)發(fā)生改變呼渣。能夠?qū)崿F(xiàn)這一需求的設(shè)計方案有很多,但能夠做到復(fù)用性強且對象之間匿名通信的寞埠,觀察者模式是其中最為適合的一個屁置。
解決方案
通知機制可以實現(xiàn)“一對多”的對象之間的通信。如圖所示仁连,在通知機制中對某個通知感興趣的所有對象都可以成為接收者蓝角。首先,這些對象需要向通知中心(NSNotificationCenter)發(fā)出addObserver消息進行注冊通知饭冬,在投送對象通過postNotificationName消息投送通知給通知中心使鹅,通知中心就會把通知廣播給注冊過的接收者。所有的接收者都不知道通知是誰投送的昌抠,更不關(guān)心它的細(xì)節(jié)患朱。投送對象與接收者是一對多的關(guān)系。接收者如果對通知不再關(guān)注炊苫,會給通知中心發(fā)出removeObserver消息注銷通知裁厅,以后不再接收通知。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末劝评,一起剝皮案震驚了整個濱河市姐直,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蒋畜,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撞叽,死亡現(xiàn)場離奇詭異姻成,居然都是意外死亡插龄,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門科展,熙熙樓的掌柜王于貴愁眉苦臉地迎上來均牢,“玉大人,你說我怎么就攤上這事才睹∨枪颍” “怎么了?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵琅攘,是天一觀的道長垮庐。 經(jīng)常有香客問我,道長坞琴,這世上最難降的妖魔是什么哨查? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮剧辐,結(jié)果婚禮上寒亥,老公的妹妹穿的比我還像新娘。我一直安慰自己荧关,他們只是感情好溉奕,可當(dāng)我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著忍啤,像睡著了一般腐宋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上檀轨,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天胸竞,我揣著相機與錄音,去河邊找鬼参萄。 笑死卫枝,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讹挎。 我是一名探鬼主播校赤,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼筒溃!你這毒婦竟也來了马篮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤怜奖,失蹤者是張志新(化名)和其女友劉穎浑测,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡迁央,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年掷匠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岖圈。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡讹语,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜂科,到底是詐尸還是另有隱情顽决,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布导匣,位于F島的核電站才菠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏逐抑。R本人自食惡果不足惜鸠儿,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望厕氨。 院中可真熱鬧进每,春花似錦、人聲如沸命斧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽国葬。三九已至贤徒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間汇四,已是汗流浹背接奈。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留通孽,地道東北人序宦。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像背苦,于是被迫代替她去往敵國和親互捌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,658評論 2 350

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