这是代码:
@implementation Accumulateur
// Constructor
- (id) init
{
return ([self initWithTotal:0]);
}
- (id) initWithTotal:(int)aTotal
{
AccumulateurMoyen *ac;
if ((ac = [[AccumulateurMoyen alloc] init]) == nil)
{
[self release];
return (nil);
}
return ([self initWithTotal:aTotal andAccumulateurMoyen:ac]);
}
- (id) initWithTotal:(int)aTotal
andAccumulateurMoyen:(AccumulateurMoyen *)aAcMoyen
{
if (self = [super init])
{
[aAcMoyen retain];
[acMoyen release];
acMoyen = aAcMoyen;
total = aTotal;
}
return (self);
}
@end
问题就在这里: if ((ac = [[AccumulateurMoyen alloc] init]) == nil)
当我重新定义init
时,被init
调用的是我的,而不是NSObject
......我不知道,我怎么能正确地做到这一点(AccumulateurMoyen
是子类Accumulateur
)
谢谢你