reloadData不起作用。
代码:
- (void)viewDidLoad
{
allOnMapButton.hidden = YES;
volLocApp = (MyAppDelegate *) [[UIApplication sharedApplication] delegate];
[self performSelectorInBackground:@selector(startParsing) withObject:nil];
total = [volLocApp.volListArray count];
[super viewDidLoad];
}
- (void) startParsing
{
[self performSelectorOnMainThread:@selector(startIndicator) withObject:nil waitUntilDone:NO];
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSURL *url = [[NSURL alloc] initWithString:@"Link"];
NSData *data = [NSData dataWithContentsOfURL:url];
// 2 -- parsing
parser = [[MyParser alloc] init];
[parser parseXML:data];
[data release];
[parser sortTheArray];
[parser print];
[self performSelectorOnMainThread:@selector(updateTable) withObject:nil waitUntilDone:NO];
[pool release];
}
- (void) startIndicator
{
av.hidesWhenStopped = YES;
[av startAnimating];
}
- (void) updateTable
{
allOnMapButton.hidden = NO;
[av stopAnimating];
[myTable reloadData];
}
上面的代码有什么问题?重装方法不起作用。如果我返回并返回此视图,则仅显示数据。
答案 0 :(得分:1)
确保您的myTable已通过IBOutlet定义,并正确链接到您的表格视图。如果没有任何错误发生,通常就是这种情况。
答案 1 :(得分:0)
你可以在一些git repo中发布你的代码吗? 可能有几个原因 尝试setNeedsDisplay为你的表的超级视图 你也可以尝试在主线程而不是背景上执行选择器 看是否有任何差异。通常,视图更新仅在主线程上 这可能是一个问题