У меня есть два настроенных NSTableView, которые заполняются одним nstableviewdatasource и делегатом. Оба табличных представления получают данные при первой загрузке без проблем, однако они отказываются перезагружать данные. И источник данных tableview, и делегаты подключены к моему объекту класса tableviewcontroller в файле xib.
Я подтвердил, что мой метод, который устанавливает новые данные в массив, который я использую для заполнения табличных представлений, фактически получает измененные данные. Этот метод — единственный способ заполнить массив, который используют методы делегата источника данных. Он перезагружается из основного потока:
myArray = [classThatHoldsNewVariables.array mutableCopy];
[self.myTableView reloadData];
-numberOfRowsInTableView не вызывается с reloadData. Он вызывается только при запуске приложения.
Я пытался вручную настроить источник данных и методы делегирования в коде, но безуспешно. Я пробовал так много разных способов заставить reloadData работать, и ничего не происходит.
Помощь :(
ИЗМЕНИТЬ:
Я исправил проблему. Это была проблема экземпляра, когда я выделял свой nstableviewdatasource из другого класса для перезагрузки данных. Init не загружает экземпляр, используемый пером, поэтому он перезагружает другой экземпляр моего табличного представления, который не отображается пользователю. Я решил это, внедрив nsnotifications в свой класс tableviewcontroller.