У меня есть квадрат класса я пытаюсь переопределить метод инициализации, то .m выглядит следующим образом:Получение ошибки, пытаясь переопределить метод Init
@implementation Square
{
Rectangle *rect;
}
@synthesize side;
-(int) area
{
return side * side;
}
-(int) peremiter
{
return side * 4;
}
-(id) init
{
return [self init];
}
-(Square *) initWithSide:(int)s
{
self = [super init];
if (self)
[self initWithSide:s];
return self;
}
@end
И.М. Ошибка при получении находится в initWithSide
Methode, что сказать :
результат делегата init
должен быть немедленно возвращен или назначенным self
зачем вы сделали рекурсивный вызов внутри метода '-initWithSide:'? что вы ожидаете от рекурсии? возвращаемое значение должно быть 'id', а не' Square' ... все остальное выглядит хорошо. – holex
@holex это была моя ошибка, вместо того, чтобы писать там 'setSide' по ошибке, я написал' initWithSide' – JohnBigs
как насчет типа возврата? – holex