A couple of things
In Obj-c, when you want to initialize an object, you need to allocate space for it. This is done using the alloc .
therefore your ContentPane *pane = [ContentPane init];
turns into ContentPane *pane = [[ContentPane alloc] init];
Also, no matter which tutorial you use, stop ... as you stated, your variables, which we call them (iVars), are a very old-fashioned way of doing things, they should really be properties. and Boolean represented by YES and NO not TRUE and FALSE
source share