我一直在做一些阅读,有点困惑,让我解释一下。使用父类与子类
我的情况:
ClassA.h具有一定的阵列,并ClassA.m具有使用这些阵列的一些方法。我也有ClassB,ClassC,ClassD ...有自己的数组,以及使用这些数组的自己的方法。到目前为止,我只是将代码复制并粘贴到每个类中。
我想要做什么:
我做了一些阅读和发现,我想创建一个父类,所有的方法都装,然后在我的班级使用这些方法:
//parentClass.m
@implementation parentClass
+ (void)commonMethod:(id)sender{
...
}
@end
//classA.m
@implementation classA
- (void)someMethod{
[parentsClass commonMethod];
}
@end
//classB.m
@implementation classB
- (void)someMethod{
[parentClass commonMethod];
}
@end
问题:
所以我提出方法的parentClass.m,和阵列的parentClass.h。我的问题是当我尝试构建并运行时,我收到如Instance variable <someArray> accessed in class method
的错误。我不知道该怎么做。解决此问题的唯一方法是将我的阵列声明在.h
文件中的@interface
以上?
编辑:我想用这种技术在父类的使用方法的原因是因为我想这样调用方法:
[commonClass commonMethod];
,而不必申报每次都有一个父类的实例。
谢谢!不管继承
感谢您的回应,但我仍然感到困惑。你是说我应该把'+'改成'-'吗?我仍然能够以相同的方式执行方法调用吗?为了让我的问题更清楚,我不想将方法和数组粘贴到每个新的.h/.m文件中。我创建了 – BloonsTowerDefence 2012-07-17 23:04:01
您应该真的阅读一些介绍性材料。要回答你的问题,是的,你应该在父类中将'+'更改为'-'。然后,你可以简单地像这样调用'commonMethod':'[self commonMethod]'。这是有效的,因为子类继承了父类的所有方法,并且可以将它们直接调用,就像它们直接在子类中实现一样。 – omz 2012-07-18 00:24:59
好的谢谢,我会再读一些。 – BloonsTowerDefence 2012-07-18 14:11:21