setObjectValue:nil não é chamado para excluída NSTableCellView
-
21-12-2019 - |
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.
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