Редактирование столбца NSTableView с автоматическим обновлением таблицы

У меня есть NSTable, который обновляется каждые 5 секунд новыми данными. Теперь мне нужно добавить новый столбец для редактирования, который пользователь может редактировать. При первом включении колонка редактирования становится недоступной для редактирования, когда таблица обновляется через 5 секунд.

До сих пор, например, я начал редактировать столбец и писать длинный текст, но через 5 секунд таблица обновилась и весь текст исчез.

Как справиться с этой ситуацией? Одним из решений может быть прекращение обновления таблицы, когда она находится в режиме редактирования. Пожалуйста, предложите.

С уважением, МП.

1 ответ

Решение

Используйте методы, которые перезагружают данные только для определенных строк / столбцов и обновляют все ячейки, кроме той, которую вы редактируете.

Так что вы бы использовать tableView:shouldEditTableColumn:row: определить, когда ячейка начинает редактирование. Затем вы должны отслеживать этот столбец и эту строку в качестве текущей строки редактирования и столбца.

Тогда вы бы использовали reloadDataForRowIndexes:columnIndexes: перезагрузить все индексы строк / столбцов, кроме того, который соответствует текущей редактируемой ячейке.

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