我有一个主要的游戏类,它使用Open GL渲染游戏。现在我想我可以从此类继承,然后只需在其init方法中调用[super init]
即可获得它的副本。该计划是要对副本进行一些修改,但看来这是行不通的。
以下是我班的头文件:
#import "GameView.h"
@interface CloneView : GameView {
}
-(id)initWithFrame:(CGRect)frame;
@end
这是Clone视图类:
@implementation CloneView
-(id)initWithFrame:(CGRect)frame{
return [super initWithFrame:frame];
}
@end
如果我在GameView类的init方法中设置了一个断点,它将在此停止。问题是:我的克隆视图无法渲染,屏幕保持黑色。
我想念什么?谢谢你的帮助!
编辑
仅作记录:我尝试不实施
initFrame
并得到相同的结果。 (正如上面的initFrame
一样,除了调用super以外,没有做任何其他事情)编辑2
我要将克隆添加到另一个视图中,所以要创建两个Eagle环境。那可能是它不起作用的原因吗?
最佳答案
如果您没有在init
的CloneView
函数中添加任何内容,则甚至不必重写它。您只需让您的类继承自GameView
,它就会自动复制它的init
函数。
关于iphone - objective-c 的继承,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6775306/