OK I AM CONFUSED!!
PlayerSpriteManager *playerManager = [[PlayerSpriteManager alloc] init];
[self addChild:playerManager.manager z:[playerManager zIndex] tag:[playerManager tag]];
[playerManager release];
the releasing of the playerManager crashes the program. What I do not understand is shouldn't the addChild call up the retain count? It needs to take ownership of the reference. Glancing at the code it looks like it adds it to an Array which I understand ups the retain count.
If I remove the releasing everything works fine but a Clang anaylsis warns me I may be leaking memory.
I do not understand :'(