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都将为零内存。 –