Mam UITableViewController jako RootViewController. Muszę dodać wiersze do tabeli w zależności od danych, które otrzymuję z innego wątku zainicjowanego przez wątek RootViewController. Kiedy wracam z innego wątku do mojego wątku RootViewController mam zaktualizowane dane, ale nie mogę zaktualizować TableView. Nazwałem metodę [self.tableview reloadData];
, ale to nie działa. Próbowałem też połączenia [self.tableview setNeedsDisplay]
, ale bez powodzenia. Jak zaktualizować TableView o nowe dane?Nie można zaktualizować 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];
}
Następnie istnieje wątek klasy odbierania, który nieprzerwanie odbiera dane. Jego podstawową klasą jest NSObject. Tak więc użyłem klasy delegatów aplikacji (która ma instancję klasy RootViewController) do wywołania tej metody ponownego ładowania klasy RootViewController w moim wątku odbierającym.
Nie mogę wywołać powyższej metody przy użyciu performSelectorOnMainThread.