Iphone 如何为在ipad中绘制当前pdf页面的NSO操作设置高优先级?

Iphone 如何为在ipad中绘制当前pdf页面的NSO操作设置高优先级?,iphone,ipad,nsoperation,nsoperationqueue,pdf-rendering,Iphone,Ipad,Nsoperation,Nsoperationqueue,Pdf Rendering,我正在为ipad开发一个定制的PDF阅读器。我使用了一个UICrollView并将UIViews添加/删除到其中,相应PDF页面的等效缩略图将显示在该阅读器上。我正在创建一个NSOperation并将UIView添加到一个NSOperationQueue滚动视图可在后台生成PDF缩略图。在任何时候,滚动视图上都会有3个UIView。小PDF文件呈现速度快,整体布局效果良好,但问题在于大/复杂PDF页面,根据我的实现,当任何用户在某个特定页面离开导航时,将有3个NSOperations同时在后台工

我正在为ipad开发一个定制的PDF阅读器。我使用了一个
UICrollView
并将
UIViews
添加/删除到其中,相应PDF页面的等效缩略图将显示在该阅读器上。我正在创建一个
NSOperation
并将
UIView
添加到一个
NSOperationQueue
滚动视图可在后台生成PDF缩略图。在任何时候,滚动视图上都会有3个UIView。小PDF文件呈现速度快,整体布局效果良好,但问题在于大/复杂PDF页面,根据我的实现,当任何用户在某个特定页面离开导航时,将有3个
NSOperations
同时在后台工作以生成3个缩略图(一个用于上一页,一个用于当前页,另一个用于下一页),因此总体上需要较长的时间,显示当前页面。我尝试遍历所有live
NSOperation
对象,并将高优先级设置为在ScrollViewDiEndDecelling:method中呈现当前页面缩略图的对象,但它不起作用,结果仍然相同。请建议我解决问题的方法,提前感谢。

如果您已将
NSOperationQueue
设置为在后台工作(即您尚未调用
[NSOperationQueue mainQueue]
。任务应异步完成,但在很久以后才会更新主线程上运行的视图。优先级不重要,因为它与执行操作的线程无关。解决方案是添加:

-(void)main {

    // ** load PDF image **

    [self performSelectorOnMainThread:@selector(insertImageLoaded:)
                            withObject:img
                        waitUntilDone:YES];

}
基本上,您必须记住的是,iOS创建了一个小线程池,当使用支持操作的GCD时,这个线程池更加可见