Re: Loading NSManagedObjects across NSManagedObjectContexts in an unsaved NSPersistentDocument
Re: Loading NSManagedObjects across NSManagedObjectContexts in an unsaved NSPersistentDocument
- Subject: Re: Loading NSManagedObjects across NSManagedObjectContexts in an unsaved NSPersistentDocument
- From: Dave Zwerdling <email@hidden>
- Date: Sun, 21 Nov 2010 15:38:19 -0800
On Nov 21, 2010, at 2:47 PM, Kyle Sluder wrote:
> On Sun, Nov 21, 2010 at 2:32 PM, Dave Zwerdling <email@hidden> wrote:
>>
>> On Nov 21, 2010, at 11:37 AM, vincent habchi wrote:
>>
>>> Le 21 nov. 2010 à 20:09, Dave Zwerdling a écrit :
>>>
>>>> The issue lies in this: I have a background-thread reader of entities. Because it is multithreaded, it uses a separate MOC for the entities to be read. These MOCs have their persistent store coordinator the same as the document. The background thread always returns faulted objects until the persistent document is saved.
>>>
>>> If this is your problem, this is normal. Until they are saved to the persistent document, newly created objects are local to their MOC and cannot be accessed elsewhere: upon creation, they are assigned temporary IDs.
>>>
>>> Vincent
>>
>> Is there a recommended way to enhance this to do what I need? I assume I would need to create an in-memory store and keep the entities there, but how do I ensure that the documents will also make it to the persistent document on save?
>
> Saving means writing things to the persistent store. You cannot share
> unsaved objects between MOCs. Ergo, in order to get access to the
> objects from the other MOC, the objects must already be in the
> persistent store because the originating MOC has been saved.
>
> What are you trying to accomplish?
>
> --Kyle Sluder
I have a fetcher which provides managed objects into the persistent store. I also have a class which needs to read the objects from another MOC because it is being run in a background thread. Unless the fetcher provides the managed objects, then the user saves, and only then attempts to use the functionality that requires the background thread does the MOC in the background thread become useful. Since I cannot guarantee that the user will save (nor do I want to require that procedure) I need to somehow be able to have accurate data in the background-thread MOC.
Does this make sense?
Dave_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden