Pergunta

eu tenho um NSTableView com duas colunas e uma fonte de dados que as preenche com dados. Essa parte funciona.

Como faço para obter dados (NSString formato) fora do NSTableView? Eu posso obter a linha selecionada, mas NSTableView Não parece ter métodos para acessar dados.

Obter os dados da minha fonte de dados parece retornar dados inúteis (ID do tipo e NSLog() e NSRunAlertPanel() Ambos afirmam que os dados não são do tipo NSString.

Qual é a maneira mais fácil de obter dados de um NSTableView?

Atualizar:

Acontece que o motivo de obter dados da minha fonte de dados falha tem a ver com o retorno NSString Fazendo parte de um NSArray no tableView() método.

Meu arquivo de entrada contém linhas que eu me divido para as colunas na minha tabela View. o NSTableView obtém os dados corretos, mas quando eu chamo o tableView() Método eu mesmo encontro um Exc_bad_access Erro que presumo ter a ver com gerenciamento de memória.

Outra atualização:

Não era gerenciamento de memória. Era a incapacidade do meu aplicativo para identificar o NSTableColumn queria. Eu escrevi um segundo método para acessar dados manualmente, que usa um int para a coluna em vez de um NSTableColumn E isso funcionou.

Foi útil?

Solução

É uma violação do paradigma do MVC usar sua tabela (uma visualização) como um local para armazenar seus dados (modelo). Você poderá obter o valor da sua fonte de dados da mesma maneira que a visualização da tabela; Para que seu código tableView:objectValueForTableColumn:row: fazer para obter os dados?

Se sua mesa for editável, você receberá ligações da visualização da tabela para tableView:setObjectValue:forTableColumn:row: para permitir que você modifique sua fonte de dados adequadamente.

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