Pergunta

Eu estou usando um modo de Exibição com Base NSTableView e vinculativa para exibir o conteúdo de meus objetos.

Quando eu excluir um deles, o tableView refletir a alteração, removendo-se a célula para este objeto.

O problema é que o NSTableCellView não receber o setObjectValue:com nil ou outro objeto, e assim o objeto referenceCount não é diminuída, e o meu objeto nunca lançamento.

Existe uma maneira de substituir o tableView a força de chamar setObjectValue:quando cache deletedRows?

Obrigado por sua ajuda.

Foi útil?

Solução

Eu só encontrei a solução aqui.

https://devforums.apple.com/message/575883#575883

Apenas no caso de a ligação falhar, a solução é configurá-lo manualmente, no seguinte método

- (void)tableView:(NSTableView *)tableView didRemoveRowView:(NSTableRowView *)rowView forRow:(NSInteger)row NS_AVAILABLE_MAC(10_7);
{
    for (NSInteger columnIndex = 0; columnIndex < [rowView numberOfColumns]; columnIndex++) {
       [[rowView viewAtColumn:columnIndex] setObjectValue:nil];
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top