1
使用變量參數編號重載init方法的正確方法是什麼?我在做它:使用變量參數編號重載初始化參數
- (id)initWithInt:(int)a
{
return [self initWithInt:a andString:nil];
}
-(id)initWithInt:(int)a andString:(NSString*)str
{
self = [super init];
if (self) {
NSLog(@"%@ %i",str,a);
}
return self;
}
它的工作原理,但return [self initWithInt:a andString:nil];
看起來不正確,我(還有目前沒有自我,對吧?)
只是爲了澄清「目前沒有自我」聲明,「self」確實存在,因爲它是'alloc'返回的對象。但是,不能保證'self'在初始化之前處於有效狀態,所以期望調用其他方法會崩潰/失敗,並且期望所有的ivars都將爲零內存。 –