title: Using substringFromIndex on NSMutableString
body: <p>Why is <code>substringFromIndex</code> not working for my <code>NSMutableString</code> ?</p>
  
  <p>Here code similar to what I have :</p>
  
  <pre><code>NSMutableString *myString = [[NSMutableString alloc] initWithString:@"This is my String"];
  
  [myString substringFromIndex:5];
  
  NSLog(@"myString = %@", myString); //will output This is my String
  </code></pre>
  
  <p>If I use <code>substringFromIndex</code> on <code>NSString</code> it will work, for example like so :</p>
  
  <pre><code>NSString *tempStr = [[NSString alloc] init];
  tempStr = [myString substringFromIndex:5]; 
  NSLog(@"tempStr = %@", tempStr); //will output is my String 
  </code></pre>
  
  <p>Why does it not work in the first example, and I have one more question, if I do it using the second method, and then I set:</p>
  
  <pre><code>[myString setString:tempStr];
  [tempStr release];
  </code></pre>
  
  <p>This will result in a crash, I thought, since I used setString on <code>NSMutableString</code>, that I do not need the <code>NSString</code> and I release it, but apparently that is not the case, however if I use autorelease it will be OK</p>