No, but:
- You do not need to check this case.
[nil release]fine. - You cannot count on a call
viewDidUnload.
So just let it go as usual at -dealloc.
Of course, you must make sure that you really released the previous object. You implicitly do this if you use a synthesized setter:
self.myProperty = nil;
[self setMyProperty:nil];
But installing ivar on nil will proceed:
self->myProperty = nil;
myProperty = nil;
These are common mistakes.
, nil -dealloc - . , KVO. dealloc: release, ? .