Если вы хотите сделать это с привязками, вы можете добавить NSObjectController в ваше перо. Затем на контроллере объекта свяжите его содержимое с выбором в контроллере массива сотрудника с помощью keypath @ "selectedDepartment". Этот контроллер объекта всегда будет содержать отдел выбранного сотрудника.
Для DDDepartment добавить свойство BOOL "isSelected" к нему.
Создать подкласс NSObjectController. Установите NSObjectController, который вы создали в части 1, чтобы иметь подкласс для своего класса. Теперь в переопределении подкласса - (void) setContent: (id) должно быть:
- (void)setContent:(id)content
{
[[self content] setIsSelected:NO]; // clear the flag on the current selection
[content setIsSelected:YES]; // set the flag on the new selection
[super setContent:content];
}
Наконец, измените скрытое связывание, чтобы связать его со свойством isSelected вместо вашего метода isThisTheSelectedDepartment. Это должно позаботиться обо всем за вас и привести к тому, что выбор отдела будет меняться всякий раз, когда вы выбираете сотрудника или меняете отдел сотрудника.