【发布时间】:2015-05-27 13:19:28
【问题描述】:
self = [super init]; 是一种常见的初始化模式。应该分配自指针
但是我可以这样转发初始化吗?
- (id)initWithObject:(id)object {
return [self initWithObject:object scrollTo:nil];
}
代码有效,但不确定它是否是 Kosher ......以及没有 self = [super init] 的情况下它如何工作
再往前走,这样可以吗?
- (id)initWithObject:(id)object {
self = [self initWithObject:object scrollTo:nil]; // NOT super
if (self) {
//...
}
return self;
}
【问题讨论】:
-
100% 合法。当我有多个重载的构造函数时,我经常这样做
-
是的,但你应该真正开始使用
instancetype而不是id。
标签: objective-c cocoa cocoa-touch