Pergunta

O aplicativo Core Data baseado em Meu Documento (usando ligações em IB) tem duas entidades, Employee (com um atributo employeeName ) e TimeSheet (com atributos timeDescription e entryDate ). Funcionário tem uma relação um ( employeeDetails ) -para-muitos ( employeeTimeSheet ) com TimeSheet .

Estou construindo um Master-Detail configurado para uma entrada do TimeSheet.

Para o Master, tenho uma tableView de uma coluna que tem seu valor vinculado a: EmployeeController (um NSArrayController usando a entidade Employee), arrangementObjects , employeeName .

Eu tenho um detailController (outro NSArrayController) que é configurado como um NSMutableDictionary que tem o contentSet vinculado a EmployeeController , seleção , < strong> employeeTimeSheet .

Tenho então Detail tableView que tem três colunas, com seus respectivos valores vinculados a DetailController , organizadoObjects , employeeDetails.employeeName (coluna 0), entryDate (coluna 1) e timeDescription (coluna 2).

Agora que tudo está funcionando bem, posso selecionar um funcionário na tabela mestre e a tabela detalhada mostra todas as entradas da planilha de horas associadas a esse funcionário. Posso adicionar entradas usando o funcionário selecionado, tudo funciona muito bem.

Meu problema é que, em vez de ter uma tableView como uma visualização Master, eu queria um NSPopupButton em seu lugar, a partir do qual posso selecionar um Employee e visualizar todas as entradas de tempo associadas a esse Employee.

Eu tentei todas as combinações de conteúdo, valor, arranjadosObjetos, objetos selecionados, etc. com todas as combinações dos controladores que tenho, mas não consigo fazer com que o NSPopupButton se comporte de maneira semelhante ao tableView de coluna única.

Procurei em vão por mais informações sobre isso e li a documentação das ligações várias vezes, mas continuo me confundindo. Acho que isso deveria ser relativamente simples, mas simplesmente não consigo entender. Estou quebrando a cabeça há quase dois dias antes de postar aqui.

Alguém pode apontar onde estou errado? Eu postaria o código, mas isso não é apropriado, visto que é principalmente uma coisa do IB.

Billy.

Foi útil?

Solução 2

Ok, eu encontrei.Eu sabia que depois de postar aqui, encontraria imediatamente.

Eu limitei NSPopupButton content a EmployeeController , arrangementObjects , contentValue para EmployeeController , storedObjects , employeeName , e é selectedIndex para EmployeeController , selectionIndex .

Funciona muito bem.

Billy.

Outras dicas

A propósito: o detailController será preenchido com um novo objeto funcionário "automaticamente".Certifique-se de definir "managedObjectContext" para o mesmo controlador (employeeController).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top