首页 > 其他 > 详细

手工引用计数中规则

时间:2016-11-08 22:44:57      阅读:181      评论:0      收藏:0      [点我收藏+]

使用设值方法为属性赋值时 assign、retain、copy三个特性的实现

self.property = newValue;

assign的特性会是这样:

    property = newValue;

retain特性会是这样

    if (property!=0) {

        [property release];

        property = [newValue retain];

    }

   copy的特性会是这样

    if (property!=0) {

        [property release];

        property = [newValue copy];

    }

 果要保持一个对象不被销毁可以使用retain,使用完对象后需要用release进行释放。

对象发release消息后并不会释放这个对象,只有当对象的引用计数为0后才会被销毁。然后系统系统会给这个对象发送dealloc消息释放内存。

果方法中不需要使用一个对象,但这个对象确实一个返回值可以给这个对象发送autorelease消息用以标记这个对象延迟释放,autorelease不会影响对象的引用计数。

 

手工引用计数中规则

原文:http://www.cnblogs.com/yfc-ios/p/6044774.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!