Question: I have a main game class which renders the game using Open GL. Now I thought I could inherit from this class and then just call `[super init]` in its init method to get a copy of it. The plan was to make some modifications in the copy but as it seems this doesn't work.

The following is the header file of my class:

```
#import "GameView.h"

@interface CloneView : GameView {

}

-(id)initWithFrame:(CGRect)frame;

@end

```

And this is the Clone view class:

```
@implementation CloneView

-(id)initWithFrame:(CGRect)frame{
    return [super initWithFrame:frame];
}

@end

```

If I set a break point in the init method in the GameView class it stops there. Thing is: my clone view doesn't get rendered, the screen stays black. 
What am I missing? Thanks for your help!

**Edit**
Just for the record: I tried without implementing `initFrame` and got the same result. (as expected as the `initFrame` as above isn't doing anything apart from calling super)

**Edit 2**
I'm adding my clone to another view so I'm creating two Eagle contexts. Could that be the reason why it doesn't work?

Answer: 
This is from the apple [docs](http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/ObjectiveC/Chapters/ocAllocInit.html) 

> 
> You should assign self to the value returned by the initializer because the initializer could return an object different from the one returned by the original receiver.
> 
> 
> 

So Try doing this 

```
-(id)initWithFrame:(CGRect)frame{
    if(self = [super initWithFrame:frame] ) {
         //Do whatever you need to do here. 
    }
    return self;
 }

```

This should fix your issue if you need to do something in your init method. Otherwise you can skip the init method altogether.
try doing this it may work..

return(self=[super initWithFrame:frame])
which ensures the super class method is copied properly to the current method

TNQ