第29条:理解引用计数

属性存取方法中的内存管理

  • (void)setFoo:(id)foo
    {
    [foo retain];
    [_foo release];
    _foo = foo;
    }
    此方法将保留新值并释放旧值,然后更新实例变量,令其指向新值。

自动释放池
此特性很有用,尤其在方法中返回对象时更应该用它。此方法可以保证对象在跨越“方法调用边界”后一定存活。实际上,释放操作会在清空最外层的自动释放池时执行。这个时机指的就是当前线程的下一次事件循环。
综上所述,autorelease能延长对象的生命周期,使其在跨越方法调用边界后依然可以存活一段时间。

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

推荐阅读更多精彩内容

  • 29.理解引用计数 Objective-C语言使用引用计数来管理内存,也就是说,每个对象都有个可以递增或递减的计数...
    Code_Ninja阅读 1,532评论 1 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • 以下是关于内存管理的学习笔记:引用计数与ARC。iOS5以前自动引用计数(ARC)是在MacOS X 10.7与i...
    啊左阅读 4,608评论 0 17
  • 《编写高质量iOS与OS X代码的52个有效方法》--第五章 第29条(ps:此乃读书笔记,加深记忆,仅供大家参考...
    z_zero阅读 441评论 0 0