I'm still trying to get my head around how to achieve a particular outline view display by binding an NSTreeController to Core Data entities.

I have some test apps running in which, by binding my tree controller to a "root" entity, I can get a nice outline view showing a hierarchy of child entities as long as these descend from the root via a series of to-many relationship with a fixed relationship name (i.e. "children"). Add, remove, and addChild all work as expected.

Now comes the messy part. Is there any way to add a hierarchical view of a second hierarchy of to-many relationships descending from the *same* root object in the *same* outline view? (i.e. "children2" ) It would be easy in a second outline view, but I'd like to have both hierarchies shown in a single outline view - one above the other.

The design I'm trying to achieve is analogous to the way Xcode displays a "Targets" group and a "Bookmarks" group in the same outline view. If Core Data was used for this (and I don't know if it was), it seems clear that Targets and Bookmarks would be modeled as separate to- many relationships and entities, and yet they are nicely displayed in the same outline view.

I'm guessing that this might be achievable by using the same name "children" for the to-many relationships in both hierarchies, and adding a custom "children" accessor method to the root object that returns the appropriate set of entities to show in the outline view. It's not clear to me how this would be set up though.

I tried something like the code shown below in a custom "Project" class, for the project entity:

-(NSMutableSet*)children {

  return [NSMutableSet setWithObjects:
          [self mutableSetValueForKey:@"targets"],
          [self mutableSetValueForKey:@"bookmarks"],
          nil];

}

but I get the error message

2009-01-16 09:35:02.047 004 ProjectProto[83363:10b] [<_NSNotifyingWrapperMutableSet 0x1057dd0> addObserver:forKeyPath:options:context:] is not supported. Key path: children

I have the feeling I'm missing something at a really basic level - if anyone can suggest how to achieve the above design I'd be very grateful.

Cheers,

Rick

_______________________________________________

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