Я пишу простое приложение Cocoa с графическим интерфейсом, которое состоит только из простой таблицы, данные которой могут иногда обновляться.Но когда данные действительно обновляются, строки таблицы в большинстве случаев полностью исчезают.Но как только я меняю фокус (нажмите на рабочем столе, если мое приложение является основным окном, или щелкните на окне приложения, если это не так), все отображается правильно
Данные обрабатываются в отдельном одноэлементном классе, который запускает поток, которыйфактически следит за источником данных и публикует NSNotification при изменении данных.Контроллер окна получает это уведомление, извлекает новые данные и запускает [tableView reloadData]
- вот с чего начинаются проблемы
Контроллер окна является источником данных и делегатом для таблицы и реализует метод numberOfRowsInTableView
и метод viewForTableColumn
.Когда возникает проблема, numberOfRowsInTableView
вызывается и возвращает ненулевое значение, но viewForTableColumn
вообще не вызывается
Я ожидаю, что таблица будет правильно перерисована при вызове [tableView reloadData]
и везде, где мойфокус есть, но на практике все просто исчезает и перерисовывается только после смены фокуса