У меня есть UITableViewController как RootViewController. Мне нужно добавить строки в таблицу в зависимости от данных, которые я получаю из другого потока, который я инициирую из потока RootViewController. Когда я перенастраиваюсь из другого потока в поток RootViewController, у меня есть обновленные данные, но я не могу обновить TableView. Я назвал метод [self.tableview reloadData];
, но это не работает. Я также пробовал вызов [self.tableview setNeedsDisplay]
, но безуспешно. Как обновить TableView с новыми данными?Не удалось обновить UITableView
In my RootViewController Class I have:
- (void) reload {
for(int i=0;i<[camDetails count];i++)
{
cCameraInformation *obj = [[cCameraInformation alloc] init];
obj = [camDetails objectAtIndex:i];
NSString *tString = [[NSString alloc] initWithFormat: @" Remote %s %s",[obj->sCameraid UTF8String],[obj->sCameraid UTF8String]];
[tableEntry addObject:tString];
}
[self.tableView reloadData];
}
Тогда есть поток класса приема, который непрерывно принимает данные. Его базовым классом является NSObject. Таким образом, я использовал класс делегирования приложения (который имеет экземпляр класса RootViewController), чтобы вызвать этот метод reload данных класса RootViewController в моем потоке приема.
Я не могу вызвать вышеупомянутый метод, используя performSelectorOnMainThread.