NSTableView обнаружить строку прокрутки выключен

У меня есть основанный на представлении NSTableView, и каждая строка должна генерировать несколько изображений, что занимает много времени. Это делается на фоне NSoperationQueue и запускается, когда делается запрос на изображение (через привязку).

Когда строка прокручивается за пределами экрана, если операция NSO еще не завершена, я бы хотел отменить ее, но мне нужно определить, когда строка больше не видна. Должен ли я искать delloc в моем CustomTableRowView, CustomTableCellView или что-то еще?

Я предполагаю, что мне нужно противоположность tableView:willDisplayCell:forTableColumn:row:

Что-то вроде tableView:willHideCell:forTableColumn:row:

У Apple TableView Playground есть комментарий:

// Мы должны будем отслеживать блок с помощью NSBlockOperation, если мы хотим позже поддерживать отмену операций, которые прокручивались за пределами экрана и больше не нужны. Это будет оставлено пользователю в качестве упражнения.

Я могу отменить операцию, но я не уверен, как определить, когда строка прокручивается.

1 ответ

Я считаю, что это решается с помощью

tableView:didRemoveRowView:forRow:

хотя я не уверен, вызывается ли он сразу после прокрутки строки или через некоторое время.

Другие вопросы по тегам