0

当我解析我的 XML 数据时,我试图实现一个活动指示器。

用 UIActivityIndi​​catorView 找到了这个活动指示器(微调器)并让它工作。但是,因为我正在使用performSelectorInBackground它完成解析时没有任何数据显示在我的表格视图中。

我已经尝试过 [self.tableview reloadData] 并且我已经尝试过 [self.view setNeedsDisplay] 但是,似乎没有任何效果。

如果我离开视图并返回它,所有数据都会出现在 tableview 单元格中。

有任何想法吗?

4

1 回答 1

1

You should call

[self.tableview reloadData]

in the main thread (you can check in wich thread you'r in with [NSThread isMainThread])

you can do

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
//create background queue
dispatch_queue_t backgroundQueue = dispatch_queue_create("com.mycompany.myqueue", 0);
//dispatch in background
dispatch_async(backgroundQueue, ^{
        //execute long operation in background thread
        self.rssNews = [[ParseRSSNews alloc] initWithUrl:self.url];
    //dispatch in main thread after long operation is finish
    dispatch_async(dispatch_get_main_queue(), ^{  [self.tableView reloadData]; });
});
于 2014-12-08T15:53:32.583 回答