当需要处理某些内容时,如何从主线程通知后台线程

时间:2012-09-12 06:33:58

标签: iphone ios nsthread runloop

我正在处理一个执行图像处理并显示结果图像的应用。我使用UIScrollView让用户滚动所有图像,因为图像不是标准的jpg或png,加载需要时间。所以我想使用一个线程来加载图像,然后更新视图。

现在,我在后台线程中使用一个计时器来检查是否有任何需要加载的图像。但它运作得不好。我想知道当主线程中有一些需要加载的图像或任何其他建议时,是否有办法通知后台线程?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在类中提供一个控制scrollView的方法,让我们调用'processImage'。在后台线程中,当您有图像时,将其发送到UI类,如下所示:

dispatch_async(dispatch_get_main_queue(), ^{ [uiClass processImage:theImage] } );

后台对象应该保留对uiClass的弱引用(在本例中是一个委托)。我们的想法是在后台进行图像处理,但是将它提供给主线程上的UI类。