Я хочу использовать раскрывающееся меню (возможно, объект NSPopupButton) для представления иерархических результатов двух основных данных (жанра и фильма) и их взаимосвязей. В моей текущей модели данных моя сущность Genre имеет отношение один-ко-многим с моей сущностью Movie.
Теперь я собираюсь сгенерировать содержимое кнопки NSPopupButton для отображения иерархического списка жанров и связанных с ними фильмов, например:
Genre 1
Film 1
Film 2
Genre 2
Film 3
Film 4
Обратите внимание, что в приведенном выше примере только объекты «Фильм» должны выбираться пользователем (объекты «Жанр» будут отображаться, но не будут выбираться). Кроме того, чтобы немного усложнить ситуацию, у меня есть дополнительная кнопка NSPopupButton, в которой перечислены пункты проката фильмов. Местоположение, выбранное пользователем, в конечном итоге влияет на жанры и фильмы, доступные во втором раскрывающемся списке.
Я полагаю, что привязки только унесут меня с этой проблемой и что, в конечном счете, мне придется самому заполнить содержимое выпадающего меню. Я публикую здесь свои мысли и мнения о том, как лучше всего это сделать.