【发布时间】:2013-03-27 09:40:45
【问题描述】:
到目前为止,我已经看到了三种方式:
1:
- (instancetype)init
{
self = [super init];
if (self) {
// ...
}
return self;
}
2:
- (instancetype)init
{
if (self = [super init]) {
// ...
}
return self;
}
3:
- (instancetype)init
{
if ((self = [super init]) == nil)
return nil;
// ...
return self;
}
Objective-C 哪种形式更惯用?
【问题讨论】:
-
请引用来自 Apple/NextStep/Objective-C 文档或其他公认权威的支持参考资料,我并不是在寻找 J. Random Developer 的意见。
-
检查stackoverflow.com/questions/2956943/… 以获得很好的解释。它的情况和必须做出选择的开发人员。
-
数字3需要有一个值才能提前返回。
-
我在写这篇文章时就知道这是一个“关闭风险”,但我认为到目前为止的答案没有建设性,而不是问题中固有的任何内容。
-
我投票决定重新打开,因为有超过 1000 次查看它现在是一个“热门问题”,因此很有用,并且接受的答案引用了有效的参考资料(现代和历史 Xcode 默认值)。
标签: objective-c idioms