2009-12-15 4 views
3

Я действительно надеюсь, что кто-то может помочь в этом, потому что я изучаю какао и попал в дорожный блок.Привязки - контроллеры основных деталей массива

Я пытаюсь смоделировать простой покерный турнир. На данный момент мои сущности - это просто турнир (с номером) и игрок (с именем). В турнире есть множество игроков.

Я могу привязать два независимых вида стола, чтобы отображать турниры, а игроки - отлично. Но я хочу, чтобы игровой столик игроков показывал только игроков, принадлежащих выбранному турниру, из первого вида таблицы.

У каждого есть свой собственный контроллер массива. Я попробовал множество разных привязок для второй (игровой) таблицы, но безрезультатно. Кто-нибудь это сделал? Если так, возможно, вы могли бы это описать для меня, так как я несколько примеров онлайн.

  • Update теперь я могу получить почти где мне нужно, в основном за счет риала и ошибок и часов прибегая к помощи. Я связал контент игрока AC с турниром AC, с ключом контроллера «выбранные объекты» и «Путь к ключу модели», который является именем массива в моей организации турнира.

У меня есть столбец в виде стола таблицы для этого второго игрока AC, объект ключа контроллера. Но что положить в путь ключа модели? Я знаю, что он работает, потому что, если я использую @count, я получаю правильное количество игроков для выбранного турнира. Но «имя» и «player.name» не подходят. Есть ли какие-либо «item.name» или «players.item.name», я могу попробовать?

Sooo близко, спасибо за помощь до сих пор: alt text http://i50.tinypic.com/s30oq0.png

ответ

4

Я думаю this tutorial поможет. Они также создают представление мастера/детали.

Вкратце: привяжите contentArray контроллера массива вашего игрока к контроллеру массива турнира, установите ControllerKey на selection и остальные свойства, соответствующие вашей модели.

+0

Хорошо, этот учебник выглядит действительно полезным - спасибо за ссылку, я сейчас работаю над ней. В моем текущем проекте используются данные ядра, с моделью сущности и контекстом управляемого объекта. Это отлично работает для регулярных привязок и имеет то преимущество, что я могу программно создавать объекты при его запуске (и вставлять их в один и тот же контекст). Это необходимо. В учебнике используются словарные объекты, а не регулярные свойства, и, конечно, нет MOC. Это потребует резкой перезаписи моего существующего приложения командной строки. Должен ли я начинать? Я готов начать все заново, но –

+0

Просто осмотрите сайт, также есть учебник по основным данным (со связыванием) http://cocoadevcentral.com/articles/000085.php. В конце концов, вам нужно решить что лучше подходит вашим потребностям. –

+0

Спасибо. Я просто хотел проверить, что я совсем не ошибаюсь, похоже, что любой из подходов действительно. У меня есть ведение основных данных и привязок, но это не просто комбинация основных данных и таблиц основных деталей. Я посмотрю на кокоадева. –

0

Я нашел ответ здесь:

Implementing parent->child drill down in Cocoa with Core Data bindings that span multiple entities.

  • Ребенок-контроллер должен знать об управляемом объекте через свой собственный привязку.
  • Дочерний контроллер не должен находиться в режиме Entity, а работать как класс NSMutableDictionary.
  • И, наконец, дочерний контроллер не готовит свои данные. Он извлекает его из родителя через привязку Content Set. Используйте выбор ключа контроллера и путь ключа модели, который соединяется с детьми.

Я удивлен, что это не более распространенная практика, и надеюсь, что следующий человек, читающий это, не будет так долго находить ответ!

+0

Если объектами массива являются управляемые объекты, то контроллер массива должен быть установлен соответствующим образом. Это определенно не должно быть установлено в NSMutableDictionary, если они не являются NSMutableDictionaries. Не лгите Какао - ничего, кроме проблем. Ответ Феликса правильный. –

 Смежные вопросы

  • Нет связанных вопросов^_^