UITableViewCell reloadData方法不起作用

时间:2011-05-06 13:03:37

标签: iphone objective-c uitableview

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];   
 }

上面的代码有什么问题?重装方法不起作用。如果我返回并返回此视图,则仅显示数据。

2 个答案:

答案 0 :(得分:1)

确保您的myTable已通过IBOutlet定义,并正确链接到您的表格视图。如果没有任何错误发生,通常就是这种情况。

答案 1 :(得分:0)

你可以在一些git repo中发布你的代码吗? 可能有几个原因 尝试setNeedsDisplay为你的表的超级视图 你也可以尝试在主线程而不是背景上执行选择器 看是否有任何差异。通常,视图更新仅在主线程上 这可能是一个问题