NSTreeController's arrangedObjects returning _NSControllerTreeProxy for KVC path?
NSTreeController's arrangedObjects returning _NSControllerTreeProxy for KVC path?
- Subject: NSTreeController's arrangedObjects returning _NSControllerTreeProxy for KVC path?
- From: Daniel Price <email@hidden>
- Date: Thu, 12 Jun 2008 00:44:51 +0100
This is driving me absolutely nuts.
As a test, I have an NSTreeController and an NSOutlineView within the
same nib of a CoreData application (Leopard). If I bind the columns of
the outline view to the controller directly within IB, it works as
expected. eg:
ShapeTC->arrangedObjects.name (where name is the attribute of the
CoreData entity)
Now if I add an outlet (and accessor) in MyDocument to that same
controller instance in the nib and try to access the exact same data
via the keypath:
Application-
>mainWindow.document.shapeTreeController.arrangedObjects.name
I get nothing in the view and this error in the log:
[<_NSControllerTreeProxy 0x1c73a0> valueForUndefinedKey:]: this class
is not key value coding-compliant for the key name.
I thought the whole shadow-object problem was fixed in Leopard?! Are
these paths not equivalent and if so, why am I getting back this
private object in the second case but not the first?
I've also tried using arrangedObjects.representedObject.name but I get
the same error.
I need to figure this out because each of my documents maintains a
tree controller (for the selection) but floating panel with an
outlineview displays the contents of the current document. So there is
only one outline view on screen. I used to do with with code and
notifications and it worked but want to use bindings instead. Cocoa
bindings are forcing me to put both the controller and the view within
the same document nib which is no good for my application.
Please help!
_______________________________________________
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