title: Accessing a released NSString doesn't make the app crash
body: <p>I know this is probably the exact opposite of the questions asked on Stackoverflow, but something really weird happened to me today.
  I was trying to show someone how to work with Instruments and NSZombies, so I tried to create a crash.</p>
  
  <p>I declared a NSString, released it and then tried to access it but the app didn't crash</p>
  
  <pre><code>NSString* test = [[NSString alloc] init];
  [test release];
  NSlog(@"%@", test);
  </code></pre>
  
  <p>I even tried to release it twice, but it still didn't make the app crash, it just printed null.</p>
  
  <p>Can anyone please explain me what I did wrong or where is the flaw in my logic?</p>
  
  <p>Thank you</p>
  
  <hr>
  
  <p>EDIT : I tried something like this too and still no crash</p>
  
  <pre><code>NSString* test = [[NSString alloc] init];
  test = @"something";
  NSlog(@"%@", test);
  [test release];
  NSlog(@"%@", test);
  </code></pre>
  
  <p>I even added two consecutive releases, and a test = nil; after a release, just to make sure.</p>