【Objective-C】关于手动计数内存引用(MRC)

来源:互联网 发布:windows rt能换系统吗 编辑:程序博客网 时间:2024/04/29 06:30

使用方法

  • - (id) retain;
    执行本方法的实例内存计数+1,返回对象本身
  • - (oneway void) release;
    执行本方法的实例内存计数-1
  • - (NSUInteger) retainCount;
    返回内存计数值

操作细节

  1. 当内存计数为0时,将自动发送dealloc消息释放内存,不能手动调用dealloc方法来释放内存
  2. 可以通过重写dealloc方法来实现在释放对象时进行特殊操作,如输出相关信息等
  3. 当对象被拥有时,及有指针指向该对象时,对象的引用计数应当+1,如果有多次引用,则该引用计数需要多次累加
  4. 对象在进行新的属性设置(set)时,要先对新引用对象计数+1来避免重复引用造成对象释放,然后要对原对象进行释放操作来避免泄露
0 0