title: Usage of NSString and NSMutableString objects in Objective C
body: <p>I need to use a bunch of string variables throughout my program. I reassign some of them quite often, while others are stuck with the same value during execution.
  What's the best practice here?</p>
  
  <p>In the first case, the variables should be <code>NSMutableString</code> and I should cast them to <code>NSString</code> (using the copy method) whenever they need to be arguments of functions that require <code>NSString</code> objects. Is that right?</p>
  
  <p>When I reassign them to other constant values, I shouldn't have to dispose the previous content, right?</p>
  
  <p>As for <code>NSString</code> objects, if I need to assign a new value to them, I guess I should deallocate them, allocate them again, and then assign the new value. Is that correct?</p>