dealloc 不執(zhí)行

問題

在處理一個viewcontroller的時候,從viewcontroller A push到viewcontroller B,然后從viewcontroller B pop到viewcontroller A僧凤,理論上viewcontroller B會主動調(diào)用- (void)dealloc;這個方法,但是經(jīng)過調(diào)試的時候,發(fā)現(xiàn)實際上并沒有執(zhí)行這個方法,也就是說viewcontroller B一直沒被銷毀情妖。因為在viewcontroller B中使用了addObserver睬关,所以如果viewcontroller B如果一直不被銷毀的話,每次push過去后毡证,addObserver會多次添加电爹,造成會在執(zhí)行的時候多次執(zhí)行的問題。

分析原因

造成viewcontroller無法銷毀的原因常見的有以下幾點:

1料睛、使用NSTimer丐箩,在pop后,沒有對timer進行釋放秦效,導致控制器無法被銷毀雏蛮。

2、循環(huán)引用導致的控制器無法銷毀阱州,使用block,在block內(nèi)對當前控制器進行強引用

3法梯、delegate的強引用問題導致控制器無法銷毀苔货,一般我們在定義delegate的時候使用weak修飾

解決問題

在我的viewcontroller B 中使用了NSTimer以及block,NSTimer在viewWillDisappear中我已經(jīng)進行了[timer?invalidate]; timer = nil; 的操作立哑,所以夜惭,排除了timer導致的無法銷毀問題。檢查block部分的使用情況铛绰,注釋掉所有block部分的代碼诈茧,然后運行發(fā)現(xiàn)程序執(zhí)行了dealloc方法,定位到問題捂掰,就好解決了敢会,逐步取消部分的block的注釋,后來定位到的問題是在調(diào)用刷新控件的block中強引用self導致的當前控制器無法釋放这嚣。一時的疏忽鸥昏,導致被這個小問題折磨了一下。

注意:

以上問題中涉及到添加監(jiān)聽通知的使用姐帚,這就是dealloc如果不執(zhí)行的話吏垮,我們無法移除監(jiān)聽,導致每次進入到viewcontroller B頁面罐旗,監(jiān)聽都會被添加一次膳汪,會出很大問題的。所以在使用監(jiān)聽的時候一定要記得removeObserver九秀。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末遗嗽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子颤霎,更是在濱河造成了極大的恐慌媳谁,老刑警劉巖涂滴,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異晴音,居然都是意外死亡柔纵,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門锤躁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搁料,“玉大人,你說我怎么就攤上這事系羞」疲” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵椒振,是天一觀的道長昭伸。 經(jīng)常有香客問我,道長澎迎,這世上最難降的妖魔是什么庐杨? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮夹供,結(jié)果婚禮上灵份,老公的妹妹穿的比我還像新娘。我一直安慰自己哮洽,他們只是感情好填渠,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鸟辅,像睡著了一般氛什。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剔桨,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天屉更,我揣著相機與錄音,去河邊找鬼洒缀。 笑死瑰谜,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的树绩。 我是一名探鬼主播萨脑,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼饺饭!你這毒婦竟也來了渤早?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤瘫俊,失蹤者是張志新(化名)和其女友劉穎鹊杖,沒想到半個月后悴灵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡骂蓖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年积瞒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片登下。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡茫孔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出被芳,到底是詐尸還是另有隱情缰贝,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布畔濒,位于F島的核電站剩晴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏侵状。R本人自食惡果不足惜李破,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望壹将。 院中可真熱鬧,春花似錦毛嫉、人聲如沸诽俯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽暴区。三九已至,卻和暖如春辛臊,著一層夾襖步出監(jiān)牢的瞬間仙粱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工彻舰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留伐割,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓刃唤,卻偏偏與公主長得像隔心,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子尚胞,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

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