iOS dealloc方法没有调用

今天coding的时候写了一个dealloc方法打了一个断点,building……运行……点击进入页面……返回。、。、???竟然没有调用dealloc方法???这是肿么回事?

仔细查看了下代码、把代码注释掉运行,竟然好了。

原来是用Notificationcenter(通知中心)写的block方法使页面返回的时候没有销毁:

[[NSNotificationCenter defaultCenter]addObserverForName:UIKeyboardDidChangeFrameNotification object:self queue:nil usingBlock:^(NSNotification *note) {

    <#code#>

}];

把上面的改成这种使用方法就好了:

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(searchBarCancelButtonShow) name:UIKeyboardDidChangeFrameNotification object:nil];


同理所有没有调用dealloc方法的页面都是用了常驻内存的对象。

你可能感兴趣的:(Xcode,OC,iOS,Swift)