В моем приложении есть интерфейс в стиле iTunes: список источников (NSOutlineView) слева, который содержит различные библиотеки и списки воспроизведения, а в правой части интерфейса - NSTableView, отображающий информацию для «Презентаций». Как и в iTunes, в табличном представлении я показываю информацию того же типа, независимо от того, выбрана ли библиотека или список воспроизведения (название, автор, дата создания и т. Д.).
![alt text](https://farm5.static.flickr.com/4043/4430302305_d3ce8f20ac_o_d.jpg)
В настоящее время у меня есть NSArrayController, подключенный к моему NSTableView, и я устанавливал предикат выборки на основе того, что было выбрано в списке источников. Это прекрасно работает при выборе библиотеки, потому что я могу просто установить предикат выборки для фильтрации по полю «тип» в моей сущности Presentation Core Data. Однако, когда я пытаюсь настроить предикат выборки для списка воспроизведения, не похоже, что существует какой-либо способ установить предикат выборки, потому что у меня есть таблица между списками воспроизведения и презентациями, чтобы соответствовать порядку в списке воспроизведения. Согласно документации Apple, этот тип предикатов не может быть реализован с Core Data (в основном это не несколько внутренних соединений). Ниже приведена соответствующая часть моей модели данных.
![alt text](https://farm5.static.flickr.com/4024/4431070290_bbd7cd0489_o_d.jpg)
Неправильно ли настроена моя модель данных? Должен ли я оставить NSArrayController и обработать подключение NSTableView вручную? Я пытаюсь выяснить, есть ли простое исправление или действительно недостаток дизайна.