Использование всплывающей кнопки в Master-Detail

Основанное на моем документе приложение Core Data (использующее привязки в IB) имеет две сущности: Employee (с атрибутом employeeName) и TimeSheetатрибутами timeDescription и entryDate). Сотрудник имеет отношение один (employeeDetails) к многим (employeeTimeSheet) с TimeSheet.

Я создаю Master-Detail, настроенный для записи в расписании.

Для мастера у меня есть один столбец tableView, значение которого связано с: EmployeeController (NSArrayController, использующий сущность Employee),ограмма Oppject, employeeName.

У меня есть detailController (другой NSArrayController), который настроен как NSMutableDictionary, у которого есть свой contentSet, связанный с EmployeeController, selection, employeeTimeSheet.

Затем у меня есть Detail tableView, который имеет три столбца, с соответствующими значениями, привязанными к DetailController, selectedObjects, employeeDetails.employeeName (столбец 0), entryDate (столбец 1) и timeDescription (столбец 2).

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

Моя проблема заключается в том, что вместо того, чтобы иметь табличное представление в качестве основного представления, я хотел, чтобы на его месте была NSPopupButton, из которой я могу выбрать сотрудника и просмотреть все записи времени, связанные с этим сотрудником.

Я пробовал каждую комбинацию содержимого, значения, layoutObjects, selectedObject (s) и т. Д. С каждой комбинацией контроллеров, которые у меня есть, но я не могу заставить NSPopupButton вести себя аналогично табличному представлению с одним столбцом.

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

Кто-нибудь может указать, где я иду не так? Я бы опубликовал код, но это не совсем уместно, потому что это в основном IB.

Билли.

2 ответа

Решение

Хорошо, я нашел это. Я знал, что после публикации здесь я найду это сразу.

Я связал содержимое NSPopupButton с EmployeeController, layoutObjects, contentValue с EmployeeController, layoutObjects, employeeName, а его selectedIndex - с EmployeeController, selectionIndex.

Работает отлично.

Билли.

Кстати, detailController будет заполнен новым объектом сотрудника "автоматически". Убедитесь, что для параметра "managedObjectContext" установлен один и тот же контроллер (employeeController).

Другие вопросы по тегам