UIManagedDocument , NSManagedObjectContext and NSManagedObjectID
===

I use UIManagedDocument to work with core data.
I have a MasterVC and a DetailVC (both tableView) .  In masterVC, select a cell to perform a segue and a new managedObjectContext is created for the DetailVC.(since I want to do the work on a separated context, and merge the changes back to the MasterVC later.) 
In order to have a copy(not pass the managedObject directly , since relationship can't be done in different managedObjectContext) of the selected managedObject in the newly created context, I pass the objectID to the DetailVC and in the DetailVC I obtain the object by calling:

    self.selectedObject = [self.context objectWithID:self.obID]; // obID was passed during  prepare segue  

normally it works well. But if the selected row in the MasterVC was newly inserted, It fails to obtain the object by objectID in DetailVC. 
I know the underline cause is that UIManagedDocument saves data async , the newly inserted object is not really saved to the store immediately. 
I tried adding this line after I insert the new object in MasterVC  

        [self.context obtainPermanentIDsForObjects:@[ob] error:nil];
it still do not work.(in DetailVC I got 

    CoreData could not fulfill a fault for '0x6b99000   

Still, core data can't find the object in the store..

So, my question is how do I pass the managedObject (newly inserted in the MasterVC) to the DetailVC ? 