我有以下格式的超类和子类:
ParentClass.h
@interface ParentClass : NSObject
-(ParentClass *)field:(NSArray *)fields;
@end
ParentClass.m
#import "ParentClass.h"
@implementation ParentClass
-(id)init{
self = [super init];
if (self == nil) {
return self;
}
return self;
}
-(ParentClass *)field:(NSArray *)fields{
ParentClass *pc = [[ParentClass alloc] init];
// code
return pc;
}
@end
Subclass.h
@interface Subclass : ParentClass
-(Subclass *)field:(NSArray *)fields;
@end
Subclass.m
#import "Subclass.h"
@implementation Subclass
-(id)init{
self = [super init];
if (self == nil) {
return self;
}
return self;
}
-(Subclass *)field:(NSArray *)fields{
// code
return (Subclass *)[self field:fields];
}
@end
我想问题就在这里。
return (子类 *)[self field:fields];
我没有以应有的方式访问父类方法。谁能告诉什么应该是正确的方法?
如果我这样打电话怎么办?
-(子类 *)subClassField:(NSArray *)fields{
return (Subclass *)[self field:fields];
}
我替换了 -(Subclass *)field:(NSArray *)fields;
带有 -(Subclass *)subClassField:(NSArray *)fields;