Silly Objective-C inheritance problem when using property
- by Ben Packard
I've been scratching my head with this for a couple of hours - I haven't used inheritance much.
Here I have set up a simple Test B class that inherits from Test A, where an ivar is declared.  But I get the compilation error that the variable is undeclared.  This only happens when I add the property and synthesize declarations - works fine without them.
TestA Header:
#import <Cocoa/Cocoa.h>
@interface TestA : NSObject {
    NSString *testString;
}
@end
TestA Implementation is empty:
#import "TestA.h"
@implementation TestA  
@end
TestB Header:
#import <Cocoa/Cocoa.h>
#import "TestA.h"
@interface TestB : TestA {
}
@property NSString *testProp;
@end
TestB Implementation (Error - 'testString' is undeclared)
#import "TestB.h"
@implementation TestB
@synthesize testProp;
- (void)testing{
    NSLog(@"test ivar is %@", testString);
}
@end