xcode在后台加载图像的过程中,当我快速滚动tableview时会导致应用程序崩溃吗?

xcode在后台加载图像的过程中,当我快速滚动tableview时会导致应用程序崩溃吗?,xcode,uitableview,nsthread,Xcode,Uitableview,Nsthread,我开发了一个从远程位置检索信息的应用程序…因此我将这些信息放在UITableView的部分。作为响应,我还将获取图像。为此,我将后台进程(仅用于图像..因为该应用程序检索图像比检索基于文本的信息花费更多时间..).它工作正常…但是如果我在加载图像时滚动tableview…它将崩溃 事故日志: 尝试从主线程或其他线程以外的线程获取web锁 网络线程。这可能是一个结果 从辅助服务器调用UIKit的方法 线正在崩溃… 请提供其代码以改进答案 任何人都可以解决这个问题…请让我知道..如何解决这个崩溃…即

我开发了一个从远程位置检索信息的应用程序…因此我将这些信息放在UITableView的部分。作为响应,我还将获取图像。为此,我将后台进程(仅用于图像..因为该应用程序检索图像比检索基于文本的信息花费更多时间..).它工作正常…但是如果我在加载图像时滚动tableview…它将崩溃

事故日志:

尝试从主线程或其他线程以外的线程获取web锁 网络线程。这可能是一个结果 从辅助服务器调用UIKit的方法 线正在崩溃…

请提供其代码以改进答案


任何人都可以解决这个问题…请让我知道..如何解决这个崩溃…即使我使用了NSThread类来解决这个。。但是我没有得到解决方案…

也许您“从辅助线程调用UIKit”。您用于加载背景图像的代码是什么?在获取真实数据之前,应该显示占位符图像,然后在完成图像下载后通知主线程(使用
performSelectorOnMainThread:withObject:waitUntilDone:
)。您的主线程方法应该负责所有绘图(在本例中为tableview)。

您好,谢谢您宝贵的回答,我使用了(performSelectorInBackground:withObject:),如果我使用(performSelectorOnMainThread:withObject:waitUntilDone:),则显示视图需要花费很多时间。。。(性能下降..仅加载所有图像后..将显示..我不想这样做…因为性能下降。),而不是(performSelectorInBackground:withObject:),我使用NSThread对象来调用该方法,该方法用于检索图像。。加载完图像后,我只停止thread对象。因此问题尚未解决。。@Srinivas问题是,除了主线程外,您不能在线程上使用任何视图API。因此,在后台线程上下载图像数据是可以的,但您需要只要你能将这些因素与行为的某些部分(数据获取、更新视图)分开,你就不会在UI线程上看到任何不好的性能。