У меня есть следующий код ниже, где базовый класс имеет член, который (должен быть) доступен производному классу.
Однако приведенный ниже код дает ошибку компиляции
...abcAppDelegate.m:30: error: 'baseVal_' undeclared (first use in this function)
Если я вызываю переменную, используя self->baseVal_
или если я удаляю свойство, определенное в производном классе, тогда все в порядке.
Кроме того, если я определю категорию производного класса, я получу доступ к baseVal_ без ошибок.
//---------------------------------------------------------------
// BASE CLASS
//---------------------------------------------------------------
@interface BaseClass : NSObject
{
@protected
BOOL baseVal_;
}
@end
@implementation BaseClass
@end
//---------------------------------------------------------------
// DERIVED CLASS
//---------------------------------------------------------------
@interface DerivedClass : BaseClass {
}
@property (readwrite) BOOL val;
@end
@implementation DerivedClass
@synthesize val;
- (void) foo {
baseVal_ = YES;
}
@end