我刚刚在一篇文章中找到了这段代码:
- (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])
提前致谢