Iphone 在屏幕上异步加载50个UITableView

Iphone 在屏幕上异步加载50个UITableView,iphone,ios,multithreading,grand-central-dispatch,nsoperation,Iphone,Ios,Multithreading,Grand Central Dispatch,Nsoperation,正如问题所说 我尝试了NSOperationQueues,但我不知道在操作块中执行什么。我尝试将函数reloadData加载到操作队列中,但所有UITableView立即出现 我正在上述UITableViews上使用自定义单元格 TIA如果数据加载是在后台线程上完成的,则需要确保在触发对UI的任何更改之前返回到主线程。因此,当您调用reloadData时,请确保它在主线程上运行: [self.tableView performSelectorOnMainThread:@selector(relo

正如问题所说

我尝试了
NSOperationQueues
,但我不知道在操作块中执行什么。我尝试将函数
reloadData
加载到操作队列中,但所有
UITableView
立即出现

我正在上述
UITableView
s上使用自定义单元格


TIA

如果数据加载是在后台线程上完成的,则需要确保在触发对UI的任何更改之前返回到主线程。因此,当您调用
reloadData
时,请确保它在主线程上运行:

[self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];

你试过用GCD来做这个吗?为此,您可以使用串行调度队列。除非您有50个表视图同时显示在屏幕上,否则您的操作是错误的。您可能应该有50个数据源/单元格委托和一个表视图。保存滚动位置并简单地交换数据以在数据集之间转换。谢谢,但是表视图加载良好。只是它们占用了大量的时间,而且它们都同时出现在页面上。我在该视图上有50个TableVIW,我希望每个TableVIW逐个加载数据。我尝试将TableView的“ReloadData”方法添加到操作队列中,MaxConcurrentOperations设置为1,并在后台运行。还是不走运。如果我加上这一行,会有什么变化吗?因为TableView的委托方法总是在主线程上被调用。您的队列设置听起来不错,但是每个操作都应该在下一个操作开始之前重新加载表视图(在主线程上)。