标签:对象 release sign sig nbsp 赋值 计数 发送 ase
使用设值方法为属性赋值时 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不会影响对象的引用计数。
标签:对象 release sign sig nbsp 赋值 计数 发送 ase
原文地址:http://www.cnblogs.com/yfc-ios/p/6044774.html