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
Ios UITablewView在滚动期间停止渲染_Ios_Uitableview_Uiscrollview_Rendering - Fatal编程技术网

Ios UITablewView在滚动期间停止渲染

Ios UITablewView在滚动期间停止渲染,ios,uitableview,uiscrollview,rendering,Ios,Uitableview,Uiscrollview,Rendering,简短介绍 目前,我有一个UITableView,其中填充了自定义单元格,用于显示当前上载到服务器的文件的上载进度。上载过程只是使用NSURLConnection的标准异步方法在后台异步运行的NSURLConnection对象 问题是,在滚动过程中,UITableView,或者我认为UITableView的UIScrollView,某种程度上会阻塞整个主线程,这样做的目的是在UIScrollView停止之前,重要信息(如文件的上载过程)不会被更新 研究 现在我确实在这篇文章中遇到了与我完全相同的问

简短介绍

目前,我有一个UITableView,其中填充了自定义单元格,用于显示当前上载到服务器的文件的上载进度。上载过程只是使用NSURLConnection的标准异步方法在后台异步运行的NSURLConnection对象

问题是,在滚动过程中,UITableView,或者我认为UITableView的UIScrollView,某种程度上会阻塞整个主线程,这样做的目的是在UIScrollView停止之前,重要信息(如文件的上载过程)不会被更新

研究

现在我确实在这篇文章中遇到了与我完全相同的问题:类似的问题

所以看起来整个主线程都被阻塞了。我还成功地添加了一个类似于上面帖子中的计时器,即使在滚动过程中也会调用它。但是不幸的是,这并不能真正解决我的问题

问题仍然是NSURLConnection对象被阻塞,这意味着NSURLConnection deletige方法:didSendBodyData

仍然没有被调用,这是我获取写入服务器的新字节数的地方,等等,所以我无法接收数据


有办法解决这个问题吗?我是否需要创建某种自定义UIScrollView或类似的东西来绕过限制,比如创建我自己的滚动机制?

您是否考虑过将
NSURLConnection
代码移动到后台线程上运行?这应该允许它在用户滚动时运行


您的
UITableView
UIScrollView
(您提到过),这意味着您可以针对它注册
UIScrollViewDelegate
。如果你实现了
scrollViewDidScroll:
你可以有效地让你的主线程轮询,看看你是否有
NSURLConnection
的结果。

这听起来是个好主意:)我一定会研究的!谢谢!:)