#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.