У меня есть два подкласса, один с большим количеством настроек, мы назовем его Foo, а другой подкласс, которому нужен только один переопределенный метод, и не требующий дополнительных переменных, мы назовем его Bar
Bar будет одной из переменных Foo, поэтому чтобы не иметь еще 2 файлов для работы (.m и .h для Bar), я хотел бы связать и реализовать Bar в файлах .h и .m Foo.
Мои лучшие усилия дают мне несколько ошибок компилятора.
Файл .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
Я понимаю, что подобные вещи обычно осуждаются, но я чувствую, что это уместно в моей ситуации. Первая ошибка, которую я получаю, это «ожидаемый список спецификаторов-спецификаторов перед строкой».
Что я сделал не так, я почти уверен, что можно иметь несколько объявлений / определений в одном файле.