доступ к родителю объекта - PullRequest
0 голосов
/ 23 июля 2010

Я пытаюсь вызвать методы для родительского объекта, передавая родительский объект как свойство.Но я продолжаю получать эту ошибку:

ожидаемый список спецификаторов-спецификаторов перед «Колесо»

@interface Car : NSObject {
    Wheel *w;
}

- (void)doCarStuff;

@end

@implementation Car
- (id)init {
    if((self = [super init])) {
        //w = [[Wheel alloc] init];
        //w.parent = self;
    }
    return self;
}

- (void)doCarStuff {
    NSLog(@"Car stuff");
}
@end

@interface Wheel : NSObject {
    Car *parent;
}

@property (nonatomic, assign) Car *parent;

@end

@implementation Wheel
@synthesize parent;

- (id)init {
    if((self = [super init])) {
        [parent doCarStuff];
    }
    return self;
}

@end

Вероятно, потому, что я должен объявить Автомобиль доКолесо и наоборот.Могу поспорить, что решение настолько простое, что я его не вижу: P

1 Ответ

2 голосов
/ 23 июля 2010

Колесо вперед-объявления перед автомобилем.

@class Wheel;

@interface Car : ...

(Кстати, в методе Колеса -init, parent не инициализируется (поэтому всегда nil), поэтому вызывается [parent doCarStuff]бесполезно.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...