Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何增加UITableVIew';她的表现如何?_Iphone_Ios_Multithreading_Xcode_Cocoa Touch - Fatal编程技术网

Iphone 如何增加UITableVIew';她的表现如何?

Iphone 如何增加UITableVIew';她的表现如何?,iphone,ios,multithreading,xcode,cocoa-touch,Iphone,Ios,Multithreading,Xcode,Cocoa Touch,我有一个具有表视图的多线程应用程序。它在不同线程的后台进行数据收集。问题是,当用户滚动表格时,数据收集速度会降低高达75%。而且有很多数据要收集,所以我想让表格滚动减少数据收集速度,如果可能的话,不超过15% 是否有一种方法可以使TableView仅在用户将手指从屏幕上移开时重新绘制?不要担心用户体验,让我来担心。如果你有什么想法可以加快速度,我很乐意听听。当用户拖动时,你可以尝试从dequeueReusableCellWithIdentifier返回nil。您可以通过调用或self.table

我有一个具有表视图的多线程应用程序。它在不同线程的后台进行数据收集。问题是,当用户滚动表格时,数据收集速度会降低高达75%。而且有很多数据要收集,所以我想让表格滚动减少数据收集速度,如果可能的话,不超过15%


是否有一种方法可以使TableView仅在用户将手指从屏幕上移开时重新绘制?不要担心用户体验,让我来担心。如果你有什么想法可以加快速度,我很乐意听听。

当用户拖动时,你可以尝试从
dequeueReusableCellWithIdentifier
返回nil。您可以通过调用或
self.tableView.tracking
self.viewTable.decreating
来检查用户是否正在执行此操作(这是为了确定拖动或跟踪何时即将结束) 如果单元格特别复杂,您也可以尝试重新绘制部分单元格(例如,只有文本而没有任何图像)。对于昂贵的操作,您可以执行延迟为0的选择器,这将使其进入运行循环的下一次迭代(所有方面都是好策略)


您认为最好的办法是使用时间分析器运行仪器,并攻击占用最多CPU的内容。

您的意思是滚动表格会降低连接速度吗?你看过仪器中的时间分析器工具了吗?表的重画是否是导致速度减慢的真正原因?但是为什么不在线程完成时使用NSNotification重新加载单元格数据呢。。数据已准备好在表视图中加载。。。使用NSNotification浏览此链接我认为您不需要重复使用滚动速度…这会引发异常,但感谢您的建议。我通过返回一个空单元格来节省一点速度,除非self.viewTable.decreating,但这还不够。不管怎样,即使我只是返回空单元格,也不够快。