I see a lot of Objective-C code that has the following syntax when attempting to free objects from memory when they are no longer needed.
[controller release], controller = nil;
Why set the variable to nil after sending the release message? Isn't release going to free the object no matter what? Why does it need to be set to nil as well.
Is this just an "old-school" way of doing things in Obj-C, or is there more to it than I realize?