SetobjectValue: Nil non chiamato per cancellato NSTABLECELLView
-
21-12-2019 - |
Domanda
Sto usando una vista basata su NstableView e Binding per visualizzare il contenuto dei miei oggetti.
Quando la cancellano uno, il tableview riflette la modifica, rimuovendo la cella per questo oggetto.
Il problema è che NSTABLECellView non riceve il SetobjectValue: con NIL o un altro oggetto, e quindi l'oggetto referenceCount non è decrementato e il mio oggetto non rilascia mai.
C'è un modo per sovrascrivere il tableview per forzare la chiamata SetobjectValue: quando cache cancellate?
Grazie per il tuo aiuto.
Soluzione
Ho appena trovato la soluzione qui.
https://devforums.apple.com/message/575883#575883 .
Nel caso in cui il collegamento fallisca, la soluzione è impostarla manualmente, nel seguente metodo
- (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];
}
}
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow