證明VC在dealloc時會自動刪除監(jiān)聽

創(chuàng)建NSNotificationCenter的子類

@interface MyNotificationCenter : NSNotificationCenter

@end
@implementation MyNotificationCenter

+ (void)load {
    Method origin = class_getInstanceMethod([self class],@selector(removeObserver:));
    Method current = class_getInstanceMethod([self class],@selector(_removeObserver:));
    method_exchangeImplementations(origin, current);
}

- (void)_removeObserver:(id)observer {
    NSLog(@"調用移除通知方法: %@",observer);
    //[self _removeObserver:observer];
}

@end

當VC被釋放時,即使我們不在dealloc中寫

-(void)dealloc{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

我們的Log依然會觸發(fā),且可以在log中找到vc對象

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,639評論 1 32
  • 作為一個開發(fā)者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個我的iOS交流群:638302184,不管你是小白...
    iOS開發(fā)之家閱讀 3,656評論 0 18
  • 1.ios高性能編程 (1).內層 最小的內層平均值和峰值(2).耗電量 高效的算法和數據結構(3).初始化時...
    歐辰_OSR閱讀 30,224評論 8 265
  • 設計模式是什么? 你知道哪些設計模式,并簡要敘述? 設計模式是一種編碼經驗,就是用比較成熟的邏輯去處理某一種類型的...
    iOS菜鳥大大閱讀 808評論 0 1
  • 1.設計模式是什么? 你知道哪些設計模式,并簡要敘述? 設計模式是一種編碼經驗,就是用比較成熟的邏輯去處理某一種類...
    司馬DE晴空閱讀 1,464評論 0 7

友情鏈接更多精彩內容