Re: Two Applications Sharing Same Core Data Database
Re: Two Applications Sharing Same Core Data Database
- Subject: Re: Two Applications Sharing Same Core Data Database
- From: "Carter R. Harrison" <email@hidden>
- Date: Thu, 07 Apr 2011 18:24:31 -0400
On Mar 30, 2011, at 4:09 PM, Nick Zitzmann wrote:
>
> On Mar 30, 2011, at 2:05 PM, Carter R. Harrison wrote:
>
>>>> 2. What is the best way to implement it?
>>>
>>> Put your CoreData code into a framework shared by your applications. And use distributed notifications to keep the applications in sync.
>>
>> So when one application saves the data store, then it sends a distributed notification to tell the other application to reload its object graph?
>
> Something like that. Or you can send a notification containing the IDs of the managed objects that were changed in the other app, and have your handler re-fault its managed objects if necessary so that it'll have the latest information when it un-faults them later.
>
I really appreciate all of your help. I gave your suggestion a shot and I've run into problems. Here's what happens.
1. I create a new NSManagedObject in my main application. It gets inserted into the context.
2. I save the context. I can see the persistent store update in a text editor (its an XML store).
3. I send a distributed notification with the NSManagedObject's ObjectID.
4. My background application consumes the notification and uses the object ID to get an NSManagedObject (using [NSManagedObjectContext objectWithID:]. This produces an NSManagedObject that is a fault.
5. I try to fire the fault by using [NSManagedObject valueForKey:].
6. Step 5 results in an exception "CoreData could not fulfill a fault for '0x1001029e0 <x-coredata://BB194166-B2FB-48ED-8177-E66F95B6CA3A/Alert/p118>'"
I'm not sure I understand why this is happening. If the object is truly a fault then shouldn't Core Data go back to the persistent store to find the object?
> Nick Zitzmann
> <http://www.chronosnet.com/>
>
_______________________________________________
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