UITableView reloadData 与 performSelectorInBackground

Posted

技术标签:

【中文标题】UITableView reloadData 与 performSelectorInBackground【英文标题】:UITableView reloadData with performSelectorInBackground 【发布时间】:2013-08-02 08:59:33 【问题描述】:

App 界面在屏幕顶部有一个 UISegmentedControl,在屏幕其余部分有一个 UITableView。

当 UiSegmentedControl 获得点击时,NSFetchedController 会获得更新 NSFetchRequest 的 NSPredicate 并执行 performFetch 方法。

因为,需要 4 秒才能得到结果我想重新加载一个 tableview 以显示 0 个部分,然后在结果准备好后重新加载一个 tableView。

怎么做?

【问题讨论】:

【参考方案1】:
- (void)viewDidLoad

    [super viewDidLoad];

    [self performSelectorInBackground:@selector(exercisedata) withObject:nil];




-(void)exercisedata

    [self performSelectorOnMainThread:@selector(ProcessComplete) withObject:nil waitUntilDone:NO];

-(void)ProcessComplete

    [tbl reloadData];

【讨论】:

以上是关于UITableView reloadData 与 performSelectorInBackground的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 与 NSFetchedResultsController reloadData 但不移动单元格

ReloadData (UITableView) 不起作用

为啥UITableView不能reloadData

UITableView.reloadData() 没有刷新 tableView。没有错误信息

ios:UITableView reloadData 在滚动之前不起作用

UITableView 的 reloadData() 的替代方案?