What I want to accomplish seems like it should be fairly straightforward. I 
have placed a sample project at 
https://github.com/ericgorr/arraycontrollerbindings.

I have a NSArrayController filled with an array of NSDictionaries.

[[self controller] addObject:@{ @"name" : @"itemA", @"part" : @"partA" }];
[[self controller] addObject:@{ @"name" : @"itemB", @"part" : @"partB" }];
[[self controller] addObject:@{ @"name" : @"itemC", @"part" : @"partC" }];

I am populating a NSPopupButton with the items in this array based on the 
'name' key. This is easily accomplished with the following bindings.

Content Array binding - 
        bound to: Array Controller
        controller key: arrangedObjects

Content Values binding
        bound to: array controller
        controller key: arrangedObjects
        model key path: name

I would then like to populate a NSTextField with the text in the 'part' key 
based on the current selection of the NSPopupButton. I have setup the following 
binding:

Value binding
        bound to: array controller
        controller key: selection
        model key path: part

With these bindings alone, the text field does display 'partC'.

However, if I change the value of the NSPopupMenu, what the text field shows 
does not change.

I thought this would simply be a matter of setting up the 'Selected Object' 
binding on the NSPopupButton with the controller key 'selection', but that 
isn't working. I end up with the proxy object in my menu for some strange 
reason (providing the reason why would be a bonus).

What am I missing to make this work?




_______________________________________________

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

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

Reply via email to