我有两个子类,一个有很多定制,我们称之为Foo,另一个子类只需要1个方法被覆盖,不需要任何其他变量,我们称之为Bar.
Bar将是Foo的变量之一,所以不要再有两个文件可以使用(.m和.h为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
我意识到这种事情一般会被皱眉,但我觉得在我的情况下是适当的.我得到的第一个错误是“Bar之前的specifier-qualifier-list”.
我做错了什么,我很确定可以在单个文件中有多个声明/定义.