Выполнить метод сразу после методов делегирования tableview

#ios #objective-c #uitableview

#iOS #objective-c #uitableview

Вопрос:

Я хотел выделить определенную строку в tableview (даже после обновления значений в ней). Но каждый раз, когда я обновляю таблицу с помощью

 [tableView reloadData] 
  

выделенное выделение исчезло.

 -(void) loadValues {

[tableView reloadData];

[self displaySelection];

}
  

Когда я проверил поток выполнения, я обнаружил, что только после метода displaySelection выполняются методы делегирования TableView.

Я использовал переменную в качестве флага для проверки последней строки в методе ‘cellForRow’, чтобы решить мою проблему. Но я действительно хотел знать, есть ли какой-либо другой способ проверить, что методы делегирования TableView выполняются полностью, чтобы ‘displaySelection’ выполнялся только после него.

Ответ №1:

Попробуйте использовать что-то вроде:

 [tableView performSelector:@selector(reloadData) onThread:[NSThread mainThread] withObject:nil waitUntilDone:YES];
  

Это должно фактически блокировать ваш поток до перезагрузки tableview.