title: Why does release not set the pointer to nil instead of leaving it pointing to freed memory?
body: <p>In the code below, <code>alert</code> was allocated and initialized, displayed, and then released. Before and after release, <code>alert</code> still points to the same address. Why does the system not set the <code>alert</code> pointer to <code>nil</code> after <code>release</code>?:   </p>
  
  <pre><code> -(void) viewDidLoad {
          UIAlertView * alert = [[UIAlertView alloc] initWithTitle: @”Hello”
                         message: @”This is an alert view”
                         delegate: self
                         cancelButtonTitle: @”OK”
                         otherButtonTitles: @”Option 1”, @”Option 2”, nil];
          [alert show];
          [alert release];
          [super viewDidLoad];
      }
  </code></pre>