title: Why does NSManagedObjectID change?
body: <p>I'm not really sure whether the format of this question is good for this site.</p>
  
  <p>Basically, does anyone know what has convinced Apple to make the design decision that NSManagedObjectID changes whenever you save the data to the persistent store?</p>
  
  <p>I might be wrong, but that decision sounds quite questionable to me.
  There is no clear advantage (it's an UUID! It <em>is</em> unique!), and yet it makes passing objectID's --- it can change under your feet at any time when the object is saved.</p>
  
  <p>It is a big problem for me because I use three MOC system (background MOC -> UI MOC -> Persistent MOC), objects are inserted into the background MOC and propagated upwards with a save. The save is asynchronous, as it has to propagate over three different MOCs and returning objects after they were created, yet before they are saved to the persistent store is quite painful, as I can't rely on passing objectID around.</p>
  
  <p>Am I doing something particularly wrong? Does anyone know what is the advantage of UUID being mutable anytime with no notification?</p>
  
  <p>My biggest question is why temporary managedObjectID is offered at all. Is there any point in it at all? Is it just to confuse people into attempting to use it?</p>