What is the difference between two snippets?
[myObj release];
and
[myObj release];
myObj = nil;
You have to be careful with the first one, because after you release, the pointer still points to some garbaged memory and can contains some other object. So, in the first one, if you try [myObj release] then [myObj doSomething], the application can crash
My advice is that you should always set it to nil after you release.