Полагаю, вам придется написать дополнительную логику, чтобы этот подход заработал. Вот почему: привязки выбора для NSArrayControllers (и всех объектов пользовательского интерфейса, которые связываются с ними) основаны на выборе indexes , но когда у вас есть объект типа A, он отправляет набор объектов B . Предполагая, что у вас есть контроллер массива для As и контроллер массива для Bs, вам нужен способ получить от этих объектов до их индексов в массиве Bs, чтобы установить выбор контроллера массива для B. Это не сложный код для написания, но я не верю, что вы сможете сделать это только с помощью привязок.
Тем не менее, как вы размышляли в своем комментарии, это не похоже на хороший способ изменить эти отношения. В общем случае выбор TableView имеет состояние UI , а не состояние модель . Если вы создаете интерфейс, подобный описанному, состояние интерфейса и состояние модели становятся одним и тем же. Я не говорю, что это невозможно или, по сути, плохо, но на самом деле это не «стандартный» способ сделать подобные вещи. Один общий шаблон выглядит так:
Даже такой подход потребует дополнительной логики, потому что, похоже, нет способа (из коробки) связать «Все B не в setOfBs выбранного А» без написания кода. Опять же, не сложный код для написания, но мне не ясно, что это можно сделать только с помощью привязок. Я могу ошибаться, но это мое понимание ситуации.