У меня есть два подкласса, один из которых имеет большую настройку, мы будем называть его Foo и другим подклассом, которому требуется только один метод, переопределенный и не нуждающийся в каких-либо дополнительных переменных, мы будем называть его Bar.
Бар будет одной из переменных Foo, поэтому, чтобы не иметь еще 2 файлов для работы с (.m и .h для Bar), я хотел бы взаимодействовать и реализовывать Bar в файлах Foo.h и .m.
Мое лучшее усилие дает мне несколько ошибок компилятора.
Файл .h выглядит так:
#import <UIKit/UIKit.h>
@interface Foo : FooSuperClass {
Bar *barVariable;
}
@property (nonatomic, retain) Bar *barVariable;
-(void) fooMethod;
@end
@interface Bar : BarSuperClass {
}
@end
Файл .m выглядит так:
#import "Foo.h"
@implementation Foo
@synthesize barVariable;
-(void) fooMethod{
//do foo related things
}
@end
@implementation Bar
- (void)barSuperClassMethodIWantToOverride{
}
@end
Я понимаю, что такого рода вещи, как правило, недооценивают, но я считаю, что это уместно в моей ситуации. Первая ошибка, которую я получаю, - это "ожидаемый спецификатор-классификатор-список перед баром".
Что я сделал неправильно, я уверен, что возможно иметь несколько деклараций/определений в одном файле.