iOS —— ARC、MRC 下dealloc 方法存在的意义

MRC下dealloc 方法

其实在MRC中dealloc方法存在的主要意义是为了
释放自身的实例变量,
移除观察者,
停止timer,
移除通知,
代理置空等。
注意MRC 下dealoc 方法一定要在最后写
[super dealloc];

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

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter]                      removeObserver:self];//移除通知观察者
    [[XMPPManager sharedManager]                               removeFromDelegateQueue:self];//移除委托引用
    [[MyClass shareInstance]  doSomething ]//其他操作
    scrollView.delegate = nil;
    [timer invalidate];  
}

你可能感兴趣的:(UI,iOS,属性)