title: Usage of NSMutableString vs NSString?
body: <p>I am confused between <code>NSString</code> and <code>NSMutable</code> string usage. 
  Suppose I have instance variables one and two declared in class like this:</p>
  
  <pre><code>NSString *one;
  NSMutableString *two;
  </code></pre>
  
  <p>let us suppose I have created setters and getters of them using properties. </p>
  
  <p>lets say I have changed my "two" string like these:</p>
  
  <pre><code>     1. [two appendString:@"more string"];
       2. two = @"string"
       3. self.two = @"string"
  </code></pre>
  
  <p>Questions:</p>
  
  <ol>
  <li><p>would 1st line release previous string and allocate new object and assign value to it.
  if yes, then does that mean creating getters and setters are unnecessary in this case ? OR its unnecessary to create properties in <code>NSMutablestring</code></p></li>
  <li><p>In this case would the previous allocated string object released ? </p></li>
  <li>Its for sure that first object would be released as we are calling setters here. is this code necessary or we can just use the code line 2 to assign string.</li>
  </ol>
  
  <p>Now about <code>NSString</code>:
  As can modify the string like this also :</p>
  
  <pre><code>    one = [one stringByAppendingString:@" more string"];
      self.one = [one stringByAppendingString:@" more string"];
  </code></pre>
  
  <p>Which is better using <code>NSMutablestring</code> or <code>NSString</code> ? </p>
  
  <p>Sorry for long post, but I needed to understand these concepts.       </p>