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];  }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
    丶逐渐阅读 2,014评论 1 16
  • # 前言 反复地复习iOS基础知识和原理,打磨知识体系是非常重要的,本篇就是重新温习iOS的内存管理。 内存管理是...
    Vein_阅读 834评论 0 2
  • 1、截取字符串”20 | http://www.baidu.com”中,”|”字符前面和后面的数据,分别输出它们 ...
    强子ly阅读 3,027评论 8 46
  • 原文链接http://www.cnblogs.com/kenshincui/p/4186022.html 音频在i...
    Hyman0819阅读 21,838评论 4 74
  • 本文已发表于我最近写的开源博客OctBlog中,请见原文链接 镜像 获取镜像 可以使用 docker pull 命...
    Gevin阅读 2,678评论 0 13