Re: Question about NSTreeController/NSOutlineView instance cleanup
Re: Question about NSTreeController/NSOutlineView instance cleanup
- Subject: Re: Question about NSTreeController/NSOutlineView instance cleanup
- From: Markus Spoettl <email@hidden>
- Date: Fri, 11 Apr 2008 09:18:09 -0700
On Apr 11, 2008, at 12:10 AM, Quincey Morris wrote:
Well, without knowing the details of what you're doing, it's
impossible to be certain, but this code certainly looks *very*
wrong. For one thing, 'insertObject' is (according to the
documentation) for controller subclasses to use to customize their
own behavior, not for other things to use to insert objects.
Normally, you don't want to mess with trying to change
arrangedObjects directly.
For another thing, assuming you're approaching this using MVC design
principles, this code gets things exactly backwards -- when setting
up your data model, you don't make changes to the controller and
expect them to be reflected in the model -- you make changes in the
model and let them be reflected (via the controller) in the view.
Again assuming there's nothing very strange intended here, all you
need to do is update treeContent in a KVO-compliant way, which (in
the case of arrays) is:
[[myDocument mutableArrayValueForKey:@"treeContent"]
addObject:rootnode];
(or some variant such as insertObject...) and the tree controller
will see the change and update the user interface.
There are also other ways to change treeController in a KVO-
compliant way, but mutableArrayValueForKey seems the most direct in
this case.
OK, thanks for the input, I'll try make sense of all this later today.
The NSTreeController/structure code was copied/used from the Apple-
supplied sample project SourceView
http://developer.apple.com/samplecode/SourceView
and I thought they would know what they're doing. I'm not sure what to
think now. Anyway, thanks again!
Regards
Markus
--
__________________________________________
Markus Spoettl
_______________________________________________
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