Hello. I had some problems related to objectID, let me try to describe it. I had 3 managed object contexts: context A - root private context of persistentCoordiantor, used for write changes to persistentStore. retainsRegisteredObjects = false context B - main context, parent context - A. retainsRegisteredObjects = true context C - background private context. parent context - B. retainsRegisteredObjects = true
When I add new MO to coreData, it saved succesfully to all contexts , but, when I check registeredObjects of context B and C, objectID for new MO is temporary, this is problem for me, because I had some work with coreData from NotificationServiceExtension, and I use fetch persistent history to get updates that was made in NSE and apply them to main app, but, in fetch history I get changes for MO that have permanentID, but in my context B and C there is still temporaryID. It was strange for me, so, I set retainsRegisteredObjects to context A, after that, I noticed, that after save new MO to coreData, permanentID is set only in context A for that MO, in contexts B and C MO still have temporaryID, does it correct behaviour of coreData or it's bug?
I expect that when I save MO to coreData, it will automatically update ID as permanent for MO in all context for this MO if it exist in registeredObjects
of certain context