Fixed Open so that it works after a close.
Selection is starting to work.
Going to make some changes with the table view delegate methods (will display view…) so committing here as a checkpoint.
Ok… made persistent array controllers, which seems to allow for persistent selection.
I thought I saw a bug though where something was deselected after scrolling away and back.
Next, see if I get get away with creating less collection views… (if statement at the beginning of willDisplayView)
Selection is now persistent when you scroll away and back.
Implemented deselect for the table view (still needs doing for the collection view.)
Sometimes seems to double click.
Sweetness: got selection working to a passable level.
- ctrl works as expected.  Shift doesn't communicate across views.
- Single clicking on different views properly deselects other selections (otherwise you wouldn't be able to ever deselect.)
That's what the loop in observeValueForKeyPath is
There was a bit of a trick… I bound the array controller to the cv and not vice versa… vice versa resulted in an accumulation of bindings and calls to observeValueForKeyPath since a new view is created every time that you scroll by.  Putting the binding on the array controller causes it to be overwritten so there's no accumulation.  Go MVC.