RootViewController로 UITableViewController가 있습니다. 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 클래스의 인스턴스를 가진 Application Delegate 클래스를 사용하여 수신 스레드에서 RootViewController 클래스의이 재로드 데이터 메소드를 호출했습니다.
performSelectorOnMainThread를 사용하여 위의 메서드를 호출 할 수 없습니다.