I wish best understand the difference between dealloc and release function.... example... I have my class derived from NSObject calle MyClass in my code, to use this class, I create an instance of MyClass..
// initialization
MyClass* test = [[MyClass alloc] init];
//do some stuff....
// release??
[ test release];
is right?? and the dealloc??? needs to be used in sequency or one overwrite the other??
dealloc is automatically called when retainCount is == 0. Each time you call [test release] the retainCount is decreased by one.
In your example everything is fine, since you have alloc test (retain count +1) and then release (retain count 0). Dealloc will be automatically called