第29条:理解引用计数

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 29.理解引用计数 Objective-C语言使用引用计数来管理内存,也就是说,每个对象都有个可以递增或递减的计数...
    Code_Ninja阅读 1,753评论 1 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,688评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,823评论 18 399
  • 《编写高质量iOS与OS X代码的52个有效方法》--第五章 第29条(ps:此乃读书笔记,加深记忆,仅供大家参考...
    z_zero阅读 472评论 0 0
  • 安土敦仁 《易·系辞传》中说:“安土敦乎仁,故能爱。” 人类从流荡游牧的生活改变成农业的定居生活,安分于一块土地上...
    流年2016阅读 686评论 0 0

友情链接更多精彩内容