NSOperationQueue比在主线程上运行代码感觉慢

时间:2012-03-10 21:29:08

标签: iphone ios xcode nsoperationqueue

我正在为ios进行调整(显示来自网络的一些图片),我正在尝试使用NSOperationQueue。 首先,我在主线程上运行了一些代码,看看它是什么样的。它持续了±5秒来显示每个图像(UI冻结)。 然后我尝试使用NSOperationQueue运行相同的代码,但每个图像持续+ 10秒(好的是UI没有冻结)。 有任何想法吗?是这样的吗?

1 个答案:

答案 0 :(得分:1)

在iOS中,UI更新发生在主线程上,因此一旦完成操作队列,您将需要通知主线程更新UI,但在您的情况下,如您所说的更新但有延迟。

您需要从操作中调用performSelectorOnMainThread:withObject:waitUntilDone:(最后,在下载数据时),并在此主线程的选择器中执行UI更新。