'dealloc' is used when the object is ready to be freed (i.e. when the object's hold value becomes 0). And viewDidUnload is called when the view is unloaded, but it cannot be immediately released, since the UIViewController link is still stored by some other objects.
: ojbects, "init", "dealloc", , "viewDidLoad", "viewDidUnload".