内存管理之范式

创建一个对象。

ClassA *obj1 = [[ClassA alloc] init];

 创建一个autorelease的对象。

ClassA *obj1 = [[[ClassA alloc] init] autorelease];

 Release一个对象后,立即把指针清空。(顺便说一句,release一个空指针是合法的,但不会发生任何事情)

[obj1 release];

obj1 = nil;

 指针赋值给另一个指针。

ClassA *obj2 = obj1;

[obj2 retain];

//do something

[obj2 release];

obj2 = nil;

在一个函数中创建并返回对象,需要把这个对象设置为autorelease

ClassA *Func1()

{

  ClassA *obj = [[[ClassA alloc]init]autorelease];

  return obj;

}

 在子类的dealloc方法中调用基类的dealloc方法

-(void) dealloc

{

         …

         [super dealloc];

}

转载于:https://my.oschina.net/makeffort/blog/85635

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值