title: How to detach a managed object from Core Data?
body: <p>In a Core Data project, I've got two buttons on my interface (a table), one which edits the data about a person and saves it to the db, and one lets you visually fiddle around with the data without actually saving it to the db. 
  How do I 'detach' the core data object, so that it so it won't write data to the db? I've tried to write a new NSObject class which mimic the NSManagedObject class, and then move the data into the NSObject class, but it still changes the db!  </p>
  
  <pre><code>//button for editing and saving
  PersonObj *person = (PersonObj *)[fetchedResultsController objectAtIndexPath:indexPath];
  PersonEditViewController *editViewController = [[PersonEditViewController alloc] initWithStyle:UITableViewStyleGrouped];
  // puts the managed object into the new view controller
  editViewController.person = person;
  [self.viewController pushViewController:editViewController animated:animated];
  [editViewController release];
  
  //button for editing and NOT saving
  PersonObj *person = (PersonObj *)[fetchedResultsController objectAtIndexPath:indexPath];
  PersonFiddlingViewController *fiddling = [[PersonFiddlingViewController alloc] initWithStyle:UITableViewStyleGrouped];
  // move db data into non-db class??? not working
  fiddling.eyeColor = person.eyeColor;
  fiddling.name = person.name;
  [self.viewController pushViewController:fiddling animated:animated];
  [fiddling release];
  </code></pre>