Pergunta

Eu gostaria de ter uma 'visualização detalhada' para quando o usuário clicar duas vezes em uma linha, não tenho certeza de como obter os dados para o NSViewController, para que possa exibir o conteúdo. Estou usando o Coredata e não consigo pensar em uma maneira de fazer isso.

Foi útil?

Solução

Há algumas etapas que você precisa fazer aqui:

  1. Verifique se a visualização da tabela é conduzida por um NSArrayController e que o seu controlador para a visualização da tabela (um controlador de janela ou um controlador de exibição, ou o que quer que seja) NSArrayController vinculado a um adar para que você o acesse.

  2. No seu controlador de tabela Defina a ação de clique duplo para um método no seu controlador e defina o destino para o seu controlador.

  3. No método de clique duplo, você pode acessar a linha solicitando o -selectedObjects de NSArrayController e isso resultante NSArray deve ter apenas um elemento.

A partir daí, você pode criar sua visualização detalhada ou o que mais quiser fazer com ela. Você pode criar uma folha e exibi -la, abrir uma janela modal, etc.

Outras dicas

Cocos ligações.
A Apple tem um ótimo Tutorial sobre a criação de interface mestre-details online.
As capturas de tela estão um pouco desatualizadas se você estiver usando o Xcode 3.2, mas não é tão diferente.

O NSViewController tem a RepresentEDObject Propriedade, que permite se vincular ao objeto modelo que você está exibindo no momento.

Editar:OK. Minha resposta não é tão boa porque é apenas metade da verdade.
Embora mostre como vincular seus controles na visualização detalhada, não fornece uma solução sobre como vincular a seleção do controlador de matriz ao controlador de exibição representedObject.
Eu estaria interessado em uma solução somente para vinculações para esse problema.

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