title: insert object in an NSMutableArray saved with NSUserDefaults
body: <p>I have an NSMutableArray saved with NSUserDefaults.
  This array is my "favourite" items that the user can saves, so when i want to add one item, i need to read the array (from NSuserDefault) and save in the first free position.</p>
  
  <p>I'm using this method to add a value in the NSMutableArray</p>
  
  <pre><code>-(IBAction)save{
     NSMutableArray *abc = [[NSUserDefaults standardUserDefaults] objectForKey:@"12345"];
     int n = [abc count];
     [abc insertObject:@"aaa" atIndex:n];
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
     [[NSUserDefaults standardUserDefaults] setObject:abc forKey:@"12345"];
     [defaults synchronize];
     [abc release];
  }
  </code></pre>
  
  <p>what's the deal?
  That if the user call this method two times, the second time the app crashes with this log:</p>
  
  <blockquote>
    <p><em>*</em> Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFArray insertObject:atIndex:]: mutating method sent to immutable object'</p>
  </blockquote>
  
  <p>why?
  and why just the second time?
  The first time works fine!</p>