CoreData и DataBindings с какао

Я разрабатываю небольшое приложение для управления книгами БД для Mac OSX с CoreData и DataBindings. У меня есть TableView со всеми авторами книг. Я бы хотел еще один TableView, который представляет все книги, написанные автором, выбранным в предыдущей таблице ... Обе таблицы управляются двумя ArrayController в IB. Моя проблема в том, что я не знаю, как отфильтровать вторую таблицу / ArrayController с выбором первой таблицы. Я также должен вставить новую книгу в отфильтрованный ArrayController.

Я могу сделать это? Большое спасибо!


person BossOz    schedule 17.07.2010    source источник


Ответы (2)


На самом деле я написал руководство, которое могло бы помочь http://themikeswan.wordpress.com/2009/05/22/7/ краткий ответ заключается в том, что вы привязываете контроллер массива для таблицы book, чтобы получить его Content Set из выбора другого контроллера массива. Контроллер массива книг затем получит элементы от того автора, который выбран в контроллере массива авторов. Вам также нужно просто добавить кнопку для добавления книг и подключить ее к методу add: контроллера массива книг (я еще не пробовал это, но теоретически он должен работать, я не уверен, что отношения с автором будут установить правильно).

person theMikeSwan    schedule 18.07.2010

Вам следует прочитать о NSPredicate, контроллеры массива поддерживают их для фильтрации содержимого. Чтобы добавить новую книгу, вы должны переопределить метод «add:» для ArrayController (создать подкласс) или написать собственный метод где-нибудь в оконном контроллере, который будет создавать новый объект и помещать его в ArrayController с помощью addObject: call.

person Gobra    schedule 17.07.2010