Autorelease(2)

 内存管理总结:

 1>计数器的操作:

 *retain:+1

 *release:-1

 *retainCount:获得计数器的数字

 

 2>set方法的内存管理:

 *set方法的实现:

 - (void)setCar:(Car *)car{

 if (_car != car){

 [_car release];

 _car = [car retain];

   }

 }

 *dealloc方法的实现:

 - (void)dealloc{

 [_car release];

 [super dealloc];

 }

 

 3>@property参数:

 *OC对象类型

 @property(nonatomic,retain)类名 *属性名;

// 被retain的属性必须在dealloc方法中release;

 - (void)dealloc{

 [_car release];

[super dealloc];

 }

 *非OC对象类型

 @property(nonatomic,assign)类型名 属性名;

 

 4>autorelease

 *系统自带的方法里面没有alloc,new,copy,说明返回的对象都是autorelease的

 *开发中经常会用到一些类方法,快速创建一个已经autorelease的对象

 *创建对象时不要直接用类名,一般用self

  */

 

//  1>系统自带的方法里面没有alloc,new,copy,说明返回的对象都是autorelease的

//  2>开发中经常会用到一些类方法,快速创建一个已经autorelease的对象

//  3>创建对象时不要直接用类名,一般用self

posted @ 2018-05-28 10:27  懒猫口米  阅读(88)  评论(0编辑  收藏  举报