【发布时间】:2014-12-08 15:50:30
【问题描述】:
我在解析 XML 数据时尝试实现活动指示器。
我找到了这个Activity indicator (spinner) with UIActivityIndicatorView 并让它工作。但是,因为我使用的是performSelectorInBackground,当它完成解析时,我的表格视图中没有显示任何数据。
我已经尝试过 [self.tableview reloadData] 并且我已经尝试过 [self.view setNeedsDisplay] 但是,似乎没有任何效果。
如果我离开视图并返回它,所有数据都会出现在 tableview 单元格中。
有什么想法吗?
【问题讨论】:
-
你试过什么?您如何将数据添加到表格视图中?你能显示所有相关的代码吗?
-
你应该看看
performSelectorOnMainThread -
@KerrM 我对 RSS 提要的所有解析和检索都发生在我导入视图控制器的文件中。在我的视图控制器中,我这样做:
self.rssNews = [[ParseRSSNews alloc] initWithUrl:self.url];在解析器文件的 initWithUrl 方法中,我这样做:[self performSelectorInBackground:@selector(parseXMLFileAtURL:) withObject:url];一旦完成解析,我就这样做了:[self performSelectorOnMainThread:@selector(doneParsing) withObject:nil waitUntilDone:NO];当我打印出我自己有多少项目时.rssNews(在视图控制器中),它显示为 0。所以,它没有返回数据。 -
如前所述,您需要在主线程上调用reloadData。
-
@cdstamper 谢谢!我想通了=)
标签: ios objective-c uitableview activity-indicator