这是执行self = [super init]的通用init模式;它应该分配自我指针在init中调用init,在self = [super init]之前调用
但我可以像这样转发init吗?
- (id)initWithObject:(id)object {
return [self initWithObject:object scrollTo:nil];
}
代码工作,但不知道这是否是犹太...还怎么能没有自我工作= [超级初始化]
另外的移动,这样行吗?
- (id)initWithObject:(id)object {
self = [self initWithObject:object scrollTo:nil]; // NOT super
if (self) {
//...
}
return self;
}
100%合法。当我有多个重载的构造函数时,我经常这样做。 – Shai
是的,但是您应该真正开始使用'instancetype'而不是'id'。 – picciano