私は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クラスのこのリロードデータメソッドを呼び出すために、アプリケーションデリゲートクラス(RootViewControllerクラスのインスタンスを持っています)を使用しました。
performSelectorOnMainThreadを使用して上記のメソッドを呼び出すことができません。