super dealloc

iPhone开发的时候就没有垃圾回收机制。最后一行的[super dealloc];非常重要。我们必须要发送消息去让父类清除它自己。
假如不这么做的话,这个对象其实没有被清除干净,存在内存泄露。
dealloc在垃圾回收机制下不会被调用到。
初始化
我们可以创建一个初始化方法去给类的实例的成员变量赋初值:
  1.  - (id) init  
  2. {      if ( self = [super init] )  
  3.     {          [self setCaption:@"Default Caption"];  
  4.         [self setPhotographer:@"Default Photographer"];      }  
  5.     return self;  

这个是一个单等于号,就是把[super init]的值赋给了self 它基本上是在调用父类去实现它的初始化。这个if代码段是设置默认值之前验证初始化是否成功
释放资源Dealloc
这个dealloc方法是在当一个对象希望被从内容里面删除的时候调用。这个我们释放在子类里面引用成员变量的最好的时机:
[pre]
  1. - (void) dealloc  
  2.     [caption release];  
  3.    [photographer release];     [super dealloc];  
[/pre] 开始两行我们发送了release通知给了两个成员变量。我们不要在这里用autorelease。用标准的release更快一点。
最后一行的[super dealloc];非常重要。我们必须要发送消息去让父类清除它自己。假如不这么做的话,这个对象其实没有被清除干净,存在内存泄露。
dealloc在垃圾回收机制下不会被调用到。取而代之的是,我们需要实现finalize方法。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值