I have a cocos2d project. Everything works fine, except when I am replacing a scene.
When replacing the scene, I receive the message “Message sent to deallocated instance” followed by a memory address.
The way my project is structured, most CCNodes are children of the main “Scene” which is replaced. These nodes are also stored in various arrays for iterating among similar objects etc.
I can’t imagine how I am over-releasing any of the objects, since adding to arrays should increase the reference count, as should adding to the main scene.
Should I do something about this? What happens if I ignore it? (Turn NSZombies off?) The error pops up when objects are being deallocated, so it should just mean that the object is already release right?
Any suggestions on how I can figure out what I am doing wrong?
You need to fix it, as it will cause crashes once you turn NSZombies off. Somewhere in your code your memory management isn’t correct. Xcode can help you find it: run Product -> Analyze (Shift-Command-B).