技术开发 频道

iPhone开发:Objective-C语法入门

  初始化

  我们可以创建一个初始化方法去给类的实例的成员变量赋初值:

  - (id) init

  {

  
if ( self = [super init] )

  {

  [self setCaption:@
"Default Caption"];

  [self setPhotographer:@
"Default Photographer"];

  }

  return self;

  }

 

  上面的代码感觉没啥好解释的,虽然第二行代码好像看上去没啥用。这个是一个单等于号,就是把[super init]的值赋给了self。

  它基本上是在调用父类去实现它的初始化。这个if代码段是设置默认值之前验证初始化是否成功。

  释放资源Dealloc

  这个dealloc方法是在当一个对象希望被从内容里面删除的时候调用。这个我们释放在子类里面引用成员变量的最好的时机:

  - (void) dealloc

  {

  [caption release];

  [photographer release];

  [super dealloc];

  }

 

  开始两行我们发送了release通知给了两个成员变量。我们不要在这里用autorelease。用标准的release更快一点。

  最后一行的[super dealloc];非常重要。我们必须要发送消息去让父类清除它自己。假如不这么做的话,这个对象其实没有被清除干净,存在内存泄露。

  dealloc在垃圾回收机制下不会被调用到。取而代之的是,我们需要实现finalize方法。

0
相关文章