调用[super init]的正确方法

时间:2014-10-20 18:49:47

标签: ios objective-c initialization

我刚刚在一篇文章中找到了这段代码:

- (id)init
{
  if (self = [super init])
  {
      someProperty = @"Some Value";
  }

  return self;
}

但是,我通常这样做:

- (id)init
{
  self = [super init];

  if (self)
  {
      someProperty = @"Some Value";
  }

  return self;
}

即使我在第一种情况下这样做,我也会添加一些额外的括号:

- (id)init
{
  if ((self = [super init]))
  {
      someProperty = @"Some Value";
  }

  return self;
}

我知道这是正确的(或推荐方式),但我不记得为什么。

有人可以解释我之间的区别:

if ((self = [super init]))

if (self = [super init])

提前致谢

0 个答案:

没有答案