When deallocing a refrence I\'ve seen release and dealloc being used for example
release
dealloc
-(void)dealloc { [foo release]; [nar dealloc];
The dealloc statement in your example is called when the object's retain count becomes zero (through an object sending it a release message).
As it is no longer needed, it cleans itself up by sending a release message to the objects that it is holding on to.