title: 'Object's persistent store is not reachable...' on main thread
body: <p>I'm one of the many getting the following Core Data error (<code>133000</code>):</p>
  
  <pre><code>Object's persistent store is not reachable from this NSManagedObjectContext's coordinator
  </code></pre>
  
  <p>As I've seen all over SO, this is because of Core Data's threading restrictions.<br>
  However, I've complied to all the correct threading restrictions, and yet this error is still coming through.</p>
  
  <p>I create an NSManagedObject using the below code to perform the function on the main thread:</p>
  
  <pre><code>NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
                                                                          selector:@selector(commitPlayer:)
                                                                            object:message];
  [[NSOperationQueue mainQueue] addOperation:operation];
  [operation release];
  </code></pre>
  
  <p>This function then creates the object and it's perfectly happy.<br>
  Then attempting to fetch the object with <code>[objectContext existingObjectWithID:objectID error:&amp;error]</code> returns nil with the aforementioned error.  </p>
  
  <p>I've also wrapped the object fetching with an @synchonized mutex lock block just in case, and yet it is still failing to fetch that object.</p>
  
  <p><strong>It appears that saving the context before hand fixes this, however I want to fetch the object regardless as to whether it's saved or not as the DB shouldn't be saved at this point.</strong></p>