At least I was able to answer the first part of my own question.
I had to implement the method like so in order to make the header unselectable:
- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item{
// Add your own logic here to determine whether a cell should be selectable
return ![self isHeader:item];
}
I have created a little sample project that does the following.
- Display a list of items
- Edit the items in a master-detail fashion
- Remove and add items
- Usage of bindings
Check out besi/mac-quickies on github. Most of the stuff is either done in IB or can be found in the AppDelegate