Правильный метод для привязки сущности как дочерних элементов NSTreeController - PullRequest
1 голос
/ 22 февраля 2011

Правильно ли я понимаю, как заполнить NSOutlineview NSTreeController, который связан с двумя отдельными сущностями, имеющими отношения между ними:

Мой NSTreeController имеет управляемый объектObjectContext, связанный с моим appDelegate. Мой Object Controller для этого - сущность с именем клиентов . Моя NSOutlineViews tableColumn привязана к NSTreeControllerклиентам ) key path clientCompany , и это правильно заполняет мою NSOutlineView списком названий компаний.

Моя вторая сущность, projects , имеет свойство отношения, называемое projectParent , обратно привязанное к свойству в клиентах, которое называется clientChild . Благодаря этим отношениям я хочу, чтобы дети моего NSTreeController состояли из соответствующих проектов записей, которые имеют соответствующую clientCompany в качестве родителя.

Чтобы попытаться это сделать, я сделал clientChild children key path в моем NSTreeController и затем связал мой content set того же контроллера с clientChild key path из моих клиентов сущности с Controller Key в качестве «выбранного».

Этот метод и различные комбинации, кажется, не работают и приводят к различным ошибкам. Только если я пропущу последний шаг связывания 'content set', программа запустится без ошибок при запуске и будет иметь значки открытия / закрытия рядом с записями набросков, предлагая заполнить их так, как я хотел. При попытке открыть одну из записей выдается сообщение о том, что моя сущность projects не соответствует KVC с моим свойством clientChild . Я перебрал привязки и, похоже, не могу найти проблему.

1 Ответ

1 голос
/ 04 марта 2011

По прошествии более чем недели изучения и исследования я считаю, что ответ в том, что это невозможно.Это меня немного удивляет - учитывая все ярлыки экономии времени, которые предоставляют Interface Builder и NSTreeController, я думал, что моя ситуация достаточно распространена, чтобы это было реализовано в Interface Builder или встроенном классе.

I 'Я не нахожусь в процессе создания своего собственного класса, чтобы делать то, что я хочу, и, надеюсь, этот ответ будет полезен для любого, кто искал это и не мог найти много ответов (Google не особо использовал).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...