通知NSNotification
在注冊者被回收時需要手動移除如筛,是一直以來的使用準則告组。原因是在MRC
時代,通知中心持有的是注冊者的unsafe_unretained
指針瞭吃,在注冊者被回收時若不對通知進行手動移除,則指針指向被回收的內(nèi)存區(qū)域涣旨,成為野指針歪架。這時再發(fā)送通知,便會造成crash
霹陡。而在iOS 9
以后和蚪,通知中心持有的是注冊者的weak
指針,這時即使不對通知進行手動移除穆律,指針也會在注冊者被回收后自動置空惠呼。我們知道,向空指針發(fā)送消息是不會有問題的峦耘。
但是有一個例外剔蹋。如果用- (id <NSObject>)addObserverForName:(nullable NSNotificationName)name object:(nullable id)obj queue:(nullable NSOperationQueue *)queue usingBlock:(void (^)(NSNotification *note))block API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0));
這個API來注冊通知,可以直接傳入block
類型參數(shù)辅髓。使用這個API會導(dǎo)致注冊者被系統(tǒng)retain
泣崩,因此仍然需要像以前一樣手動移除通知,同時這個block
類型參數(shù)也需注意避免循環(huán)引用洛口。
iOS 9 以后通知不再需要手動移除
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門脂崔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滤淳,“玉大人,你說我怎么就攤上這事砌左〔备溃” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵汇歹,是天一觀的道長屁擅。 經(jīng)常有香客問我,道長秤朗,這世上最難降的妖魔是什么煤蹭? 我笑而不...
- 正文 為了忘掉前任笔喉,我火速辦了婚禮取视,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘常挚。我一直安慰自己作谭,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布奄毡。 她就那樣靜靜地躺著折欠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吼过。 梳的紋絲不亂的頭發(fā)上锐秦,一...
- 文/蒼蘭香墨 我猛地睜開眼闲昭,長吁一口氣:“原來是場噩夢啊……” “哼罐寨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起序矩,我...
- 正文 年R本政府宣布弟劲,位于F島的核電站,受9級特大地震影響姥芥,放射性物質(zhì)發(fā)生泄漏兔乞。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一凉唐、第九天 我趴在偏房一處隱蔽的房頂上張望庸追。 院中可真熱鬧,春花似錦台囱、人聲如沸淡溯。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽咱娶。三九已至,卻和暖如春强品,著一層夾襖步出監(jiān)牢的瞬間膘侮,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 基礎(chǔ) 1. 為什么說Objective-C是一門動態(tài)的語言? 2. 講一下MVC和MVVM鱼填,MVP药有? 3. 為...
- 參考:2017年最新 iOS面試題及答案2017秋季校園招聘iOS開發(fā)崗位面試題集錦iOS面試題300+2017...
- 1.職業(yè) 1.設(shè)計感:“設(shè)置一種計謀赘理,讓事情得以推進”宦言。 2.共情:站在別人角度思考,甚至思考得比別人更深入商模。3....