问题
I have a list of objects displayed in an NSTableView (bound to an NSArrayController). When you select an object in that list I want to show a detail view in a second NSTableView. My object has an array property. I can't figure out how to wire the bindings for this. binding to NSArrayController's selection doesn't work, as that's a single object, and NSTableView expects to be bound to an array...
回答1:
Create a second NSArrayController
and bind its contents to the first controller using a keypath of selection.<name of your object's array property>
.
So, if your first table view is displaying objects of class Person
and your Person
class has a children
property, you would bind the second array controller to selection.children
.
You need a separate array controller for each array that you want to manage in a table view.
来源:https://stackoverflow.com/questions/8160931/master-detail-using-bindings-with-two-nstableviews