In the section titled \'Memory Warnings\' here http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmNibObjects.html, I don\'t follo
After a release
, the pointer is essentially invalid and accessing it again may cause a crash. By setting a variable to nil
after release
you prevent that crash from happening. There's no harm in accessing a nil pointer.
The example you've linked to simply demonstrates why it's always a good idea to set a variable or ivar to nil
after release
, even when it looks like the variable/ivar won't be accessed again.
In the example, the anOutlet
ivar is actually accessed by the superclass after your dealloc
method, so if you don't set it to nil you will get a crash. Scenarios like that are very hard to spot just by looking at the code, so it's a good idea to nil every variable after release, even in dealloc.