假设我有一个指定的初始化器,它可以像这样进行一些初始化:
- (id)initWithBlah:(NSString *)arg1 otherBlah:(NSArray *)arg2
{
if (self = [super init])
{
...
}
return self;
}
我有另一个初始化程序需要调用它,然后执行一些其他设置任务:
- (id)initWithSomeOtherBlah:(void *)creativeArg
{
// Is this right? It seems to compile and run as expected, but feels wrong
self = [self initWithBlah:nil otherBlah:nil];
if (self)
{
[self someProcessingForThisInitDependentOnSelfInit:creativeArg];
}
return self;
}
既然测试是为了确保返回值是正确的,那么在这种情况下应该使用'self'吗?我想知道这是否甚至是事件的有效组合。我们有一个初始化程序需要在指定初始化程序运行后执行一些额外设置的情况。
我想知道正确的方法是否是将这个额外的处理推到指定的初始化程序中。
如果需要更多说明,请告诉我。我试图保持简单。:)
谢谢!