ARC和MRC下使用dealloc

MRC下dealloc 方法

在MRC中dealloc方法存在的主要意义:

释放自身的实例变量,

移除观察者,

停止timer,

移除通知,

代理置空等。

注意MRC 下dealoc 方法一定要在最后写

[super dealloc];

ARC下系统会帮助我们释放该对象所包含的实例变量,但是有些对象还是需要们自己去释放的(比如Core Foundation框架下的一些对象),另外通知中观察者的移除,代理置空,停止timer等;

示例如下所示:

一定不能有 [super dealloc];

- (void)dealloc{    

[[NSNotificationCenterdefaultCenter] removeObserver:self];//移除通知观察者

[[XMPPManager sharedManager] removeFromDelegateQueue:self];//移除委托引用

[[MyClass shareInstance]  doSomething ]//其他操作

scrollView.delegate=nil;    

[timer invalidate];  }

你可能感兴趣的:(ARC和MRC下使用dealloc)