通知

通知

//總結起來就三步

  1. 訂閱通知
  2. 發(fā)布通知
  3. 移除通知.

步驟:

  • 1, 訂閱通知中心中的某個對象的通知.
  • 2, 通知中心發(fā)布通知
  • 3, 因為已經(jīng)訂閱了就自動調(diào)用,訂閱時,接收到通知會執(zhí)行的方法,然后完成了消息的傳遞.

** 注意:通知傳遞到方法內(nèi)可以和點擊事件一樣就通知對象傳遞過來,內(nèi)部就可以獲得通知的一些額外信息了. **

1. 首先每一個應用程序都有一個通知中心實例.(NSNotificationCenter),專門負責協(xié)調(diào)不同對象之間的消息通信.

2. 任何對象都可以向通知中心發(fā)布通知(NSNotification),描述自己在干嘛.其他感興趣的對象(observer監(jiān)聽者)可以申請某個特定的通知發(fā)布時(或者某個特定的對象發(fā)布通知時)收到這個通知.

3. 初始化一個通知對象
一定要理解每個參數(shù)
NSNotificationName:通知名
object:通知發(fā)布者(是誰要發(fā)布通知)
userInfo:額外信息(通知發(fā)布者傳遞給通知接收者的信息.)
NSNotification *no = [[NSNotification alloc]initWithName:(nonnull NSNotificationName) object:(nullable id) userInfo:(nullable NSDictionary *)]; 
4. 獲取當前APP的通知中心,發(fā)布通知.

發(fā)布通知的方法

1. 參數(shù):通知對象(這個創(chuàng)建的通知對象就包含了初始化通知的各種信息)
[[NSNotificationCenter defaultCenter]postNotification:(nonnull NSNotification *)]; 
2. NSNotificationName: 通知的名字
   object: 通知的發(fā)布者.
[[NSNotificationCenter defaultCenter]postNotificationName:(nonnull NSNotificationName) object:(nullable id)]; 
3. NSNotificationName: 通知的名字 
   object: 通知的發(fā)布者.
 [[NSNotificationCenter 
 userInfo: 發(fā)布者傳遞給接收者的一些額外信息.
defaultCenter]postNotificationName:(nonnull NSNotificationName) object:(nullable id) userInfo:(nullable NSDictionary *)] 
5. 通知的監(jiān)聽器.

通知中心(NSNotificationCenter)提供了方法來注冊一個監(jiān)聽通知的監(jiān)聽器(Observer)

?observer:監(jiān)聽器幸乒,即誰要接收這個通知,誰要訂閱這個消息.
?aSelector:收到通知后舶胀,回調(diào)監(jiān)聽器的這個方法江耀,并且把通知對象當做參數(shù)傳入 
?aName:通知的名稱婆排。如果為nil粪滤,那么無論通知的名稱是什么忆嗜,監(jiān)聽器都能收到這個通知 
?anObject:通知發(fā)布者州胳。如果為anObject和aName都為nil衷笋,監(jiān)聽器都收到所有的通知 
- (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject; 

?name:通知的名稱 
?obj:通知發(fā)布者 
?queue:決定了block在哪個操作隊列中執(zhí)行客峭,如果傳nil豫领,默認在當前操作隊列中同步執(zhí)行
?block:收到對應的通知時,會回調(diào)這個block  
- (id)addObserverForName:(NSString *)name object:(id)obj queue:(NSOperationQueue *)queue usingBlock:(void (^)(NSNotification *note))block; 
6. 移除監(jiān)聽器

?** 通知中心不會保留(retain)監(jiān)聽器對象舔琅,在通知中心注冊過的對象等恐,必須在該對象釋放前取消注冊。否則,當相應的通知再次出現(xiàn)時课蔬,通知中心仍然會向該監(jiān)聽器發(fā)送消息囱稽。因為相應的監(jiān)聽器對象已經(jīng)被釋放了,所以可能會導致應用崩潰 **

- (void)removeObserver:(id)observer; 
- (void)removeObserver:(id)observer name:(NSString *)aName object:(id)anObject; 

 一般在監(jiān)聽器銷毀之前取消注冊(如在監(jiān)聽器中加入下列代碼):
 - (void)dealloc { 
        //[super dealloc]; 非ARC中需要調(diào)用此句
          [[NSNotificationCenter defaultCenter] removeObserver:self];
}
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末二跋,一起剝皮案震驚了整個濱河市战惊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌同欠,老刑警劉巖样傍,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異铺遂,居然都是意外死亡衫哥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進店門襟锐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撤逢,“玉大人,你說我怎么就攤上這事粮坞∥萌伲” “怎么了?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵莫杈,是天一觀的道長互例。 經(jīng)常有香客問我,道長筝闹,這世上最難降的妖魔是什么媳叨? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮关顷,結果婚禮上糊秆,老公的妹妹穿的比我還像新娘。我一直安慰自己议双,他們只是感情好痘番,可當我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著平痰,像睡著了一般汞舱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宗雇,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天兵拢,我揣著相機與錄音,去河邊找鬼逾礁。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的嘹履。 我是一名探鬼主播腻扇,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼砾嫉!你這毒婦竟也來了幼苛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤焕刮,失蹤者是張志新(化名)和其女友劉穎舶沿,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體配并,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡括荡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了溉旋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片畸冲。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖观腊,靈堂內(nèi)的尸體忽然破棺而出邑闲,到底是詐尸還是另有隱情,我是刑警寧澤梧油,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布苫耸,位于F島的核電站,受9級特大地震影響儡陨,放射性物質(zhì)發(fā)生泄漏褪子。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一迄委、第九天 我趴在偏房一處隱蔽的房頂上張望褐筛。 院中可真熱鬧,春花似錦叙身、人聲如沸渔扎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晃痴。三九已至,卻和暖如春财忽,著一層夾襖步出監(jiān)牢的瞬間倘核,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工即彪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留紧唱,地道東北人活尊。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像漏益,于是被迫代替她去往敵國和親蛹锰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,781評論 2 361

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

  • 概述 在多數(shù)移動應用中任何時候都只能有一個應用程序處于活躍狀態(tài)绰疤,如果其他應用此刻發(fā)生了一些用戶感興趣的那么通過通知...
    莫離_焱閱讀 6,519評論 1 8
  • 通知中心(NSNotificationCenter) 通知(NSNotification) 一個完整的通知一般包含...
    JonesCxy閱讀 503評論 0 1
  • 通知中心(NSNotificationCenter) 每一個應用程序都有一個通知中心(NSNotification...
    zhong_JF閱讀 478評論 0 1
  • 南京雨花石天然的質(zhì)地铜犬、色彩、花紋轻庆、形狀癣猾,贏得了詩人的傾慕:“非聲非色非香味,別有幽芬來襲人余爆》子睿“坐落在南京雨花臺風景...
    石壽寧閱讀 491評論 0 0
  • 愛情像一座城堡而你永遠在門外 向我微笑任憑我 就這樣無 法 逃 跑
    東野子涵閱讀 77評論 0 0