Ios UITablewView在滚动期间停止渲染
简短介绍 目前,我有一个UITableView,其中填充了自定义单元格,用于显示当前上载到服务器的文件的上载进度。上载过程只是使用NSURLConnection的标准异步方法在后台异步运行的NSURLConnection对象 问题是,在滚动过程中,UITableView,或者我认为UITableView的UIScrollView,某种程度上会阻塞整个主线程,这样做的目的是在UIScrollView停止之前,重要信息(如文件的上载过程)不会被更新 研究 现在我确实在这篇文章中遇到了与我完全相同的问题:类似的问题 所以看起来整个主线程都被阻塞了。我还成功地添加了一个类似于上面帖子中的计时器,即使在滚动过程中也会调用它。但是不幸的是,这并不能真正解决我的问题 问题仍然是NSURLConnection对象被阻塞,这意味着NSURLConnection deletige方法:didSendBodyData 仍然没有被调用,这是我获取写入服务器的新字节数的地方,等等,所以我无法接收数据Ios UITablewView在滚动期间停止渲染,ios,uitableview,uiscrollview,rendering,Ios,Uitableview,Uiscrollview,Rendering,简短介绍 目前,我有一个UITableView,其中填充了自定义单元格,用于显示当前上载到服务器的文件的上载进度。上载过程只是使用NSURLConnection的标准异步方法在后台异步运行的NSURLConnection对象 问题是,在滚动过程中,UITableView,或者我认为UITableView的UIScrollView,某种程度上会阻塞整个主线程,这样做的目的是在UIScrollView停止之前,重要信息(如文件的上载过程)不会被更新 研究 现在我确实在这篇文章中遇到了与我完全相同的问
有办法解决这个问题吗?我是否需要创建某种自定义UIScrollView或类似的东西来绕过限制,比如创建我自己的滚动机制?您是否考虑过将
NSURLConnection
代码移动到后台线程上运行?这应该允许它在用户滚动时运行
您的
UITableView
是UIScrollView
(您提到过),这意味着您可以针对它注册UIScrollViewDelegate
。如果你实现了scrollViewDidScroll:
你可以有效地让你的主线程轮询,看看你是否有NSURLConnection
的结果。这听起来是个好主意:)我一定会研究的!谢谢!:)