Kevin,
You'll have to say a bit more about how you adapted the example. Do you create a new MOC and create new objects within it with attributes copied from the document MOC? Is there a Core Data relationship between these two new objects? What do you mean by "dependent on others" and "propogated"? Is there some KVO dependence, or have you defined keyPathsForValuesAffectingValueForKey: or used the deprecated setKeys:triggerChangeNotificationsForDependentKey:?

Dave

On Jun 12, 2009, at 12:59 PM, Kevin Ross wrote:

I adapted the examples in the NSPersistentDocument tutorial, and this works great. The problem I'm having is with some of the state management because some of the properties are dependent upon others. I'll try to explain how the relationship works.

Let's say we have 2 objects in the sheet's MOC. When the sheet is first opened, the selected object of the arrayController is fully fetched and realized, but the second object hasn't fetched the values from the MOC yet, so it's values aren't updated with the first object when I change some of the parameters. If I select each object first to fetch the properties from the backing-store, then when I change a value it is immediately propagated as it should. Do I have to try and access the values programmatically so the objects become fully realized before I display the sheet? I have the controller set to automatically prepare content, should I turn that off and manually perform the fetches?

Thanks for your time,

Kevin



On Jun 11, 2009, at 8:31 PM, Dave Fernandes wrote:

This is explained in the NSPersistentDocument tutorial in the docs.

On Jun 11, 2009, at 10:03 PM, Kevin Ross wrote:

Hi all, have a Core Data document based application which uses modal sheets as a way for the user to edit the document's data. What is the best way to give the sheet the ability to operate on a copy of the data with the parents sheet's undo context? And how best to merge these changes with the main document context.

I've thought of having a unique MOC for each sheet, and then posting a custom notification that would in turn cause each MOC to perform something like:

for (id object in [managedObjectContext registeredObjects]) {
        [managedObjectContext refreshObject:object
                                                   mergeChanges:YES];
}

Does this way make any sense? Is there a better way to do this that I'm missing?

Thanks for any pointers!

Kevin


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/dave.fernandes%40utoronto.ca

This email sent to dave.fernan...@utoronto.ca




_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to