对象销毁或被移除一定要考虑所有权的释放

把对象添加进集合,集合会拥有对象的所有权,与之相对,把对象从集合中移除,集合会释放对象的所有权。

要保证父对象被释放前子对象就被释放了
什么是父对象什么是子对象,是如何被定义的?
作者能否说明白一点。
从书中说明的例子可以看出父对象可以生成子对象,子对象是通过父对象生成的,大概就是这么个意思吧,就是生成对象的对象是父对象,被生成的对象是子对象。
这也是针对MRC而言的。
其实作者还是想说为了对象不销毁就先retain一下,然后为了防止内存泄露就release一下。

拥有某对象的对象要负责对被拥有的对象的释放。
copy对象的操作,需要释放被复制的对象。
retain仅仅是部分拥有某对象,需要在不使用的时候释放该对象。
在大多数情况下,接收了某对象,不拥有该对象,也就不需要释放它。

通过简便构造方法创建的对象是不需要release的。

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

推荐阅读更多精彩内容

  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 8,687评论 0 6
  • 1.OC里用到集合类是什么? 基本类型为:NSArray,NSSet以及NSDictionary 可变类型为:NS...
    轻皱眉头浅忧思阅读 5,183评论 0 3
  • ———————————————回答好下面的足够了---------------------------------...
    恒爱DE问候阅读 5,682评论 0 4
  • 37.cocoa内存管理规则 1)当你使用new,alloc或copy方法创建一个对象时,该对象的保留计数器值为1...
    如风家的秘密阅读 4,367评论 0 4
  • 一直想找一个能写日记的东西,高兴ing
    两道水纹下的人生阅读 1,306评论 0 1