Я пытаюсь создавать свои собственные пользовательские классы и изучать C и Objective C. Я получаю сообщение об ошибке, что существует несовместимый тип для аргумента 1. Я определил структуру и класс, как это:
typedef enum {
kRedColor,
kGreenColor,
kBlueColor
} ShapeColor;
typedef struct {
int x, y, width, height;
} ShapeRect;
@interface Shape : NSObject
{
ShapeColor fillColor;
ShapeRect bounds;
}
- (void) setFillColor: (ShapeColor) fillColor;
- (void) setBounds: (ShapeRect) bounds;
- (void) draw;
@end // Shape
Затем я импортирую файл Shape.h (код выше) и пытаюсь создать форму, подобную этой:
id фигур [4]; // Я другой!
ShapeRect rect0 = {0, 0, 10, 30};
shape [0] = [Shape new];
[shape [0] setBounds: rect0];
Я получаю сообщение об ошибке, что setBounds несовместим. По какой-то причине он не смотрит на класс Shape.h для метода setBounds, а вместо этого смотрит на метод setBounds по умолчанию? Я что-то не так делаю? Спасибо!