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.

È stato utile?

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
scroll top