Pergunta

Eu tenho duas visualizações de tabela (um azedista e uma visualização normal de mesa). Não estou usando ArrayControllers, apenas usando:

- (id)tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
            row:(NSInteger)rowIndex;

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView;

Isso para exibir o conteúdo da linha. Mas o problema é que não tenho apenas uma visualização de tabela - tenho mais de um. Por isso, adicionei outro NSObject com esses códigos dentro. Mas o conteúdo não será mostrado.

Devo usar o ArrayControllers? Ou posso mostrar o conteúdo do segundo tabela de tabela de outra maneira?

Foi útil?

Solução

Você não precisa usar controladores de matriz. Na verdade, eles nem existiam durante a maior parte da vida do cacau. O protocolo da fonte de dados funciona muito bem (ainda melhor em alguns casos).

Você pode ter controladores separados (um para cada tabela), é claro, mas observe que você recebe uma referência à visualização da tabela em cada uma das fontes de dados e delegados métodos (AtableView na sua fonte acima), para que você possa dar uma resposta diferente, dependendo de a visualização da tabela. Dessa forma, um controlador pode ser responsável pelas duas tabelas em sua interface do usuário mestre/detalhe. Em outras palavras:

Visualização da tabela: "O que é a coluna A da linha 3?"

Seu controlador: "Quem está perguntando?"

Em relação aos seus dados que não estão sendo exibidos, você instanciou seu segundo controlador e conectou a fonte de dados da tabela de problemas a ele? Você pediu à tabela para -reloaddata? É difícil ajudá -lo com as informações limitadas que você forneceu.

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