2016-12-28 32 views
0

简单地说,我试图使用AlamofireImage下载服务器上的映像,并且似乎负责此操作的DataRequest扩展返回主线程上的内容。删除AlamofireImage responseImage从主线程

这是有问题的,因为它不可避免地锁定用户界面,同时继续处理。

见附件图像,断点暂停(左)主线程的执行

Response on main thread

我怎样才能迁移此DataRequest使用一个OperationQueue,这不是主要的?

+0

也许@cnoon能够提供一些见解? – achi

+1

我认为过滤器函数是锁定主线程的东西。我认为你应该尝试在不同的线程上应用过滤器。祝你好运! – timaktimak

+0

是的,这是罪魁祸首。虽然这并没有回答完整的问题,但我希望在子线程上有整个responseImage回调。 @timaktimak – achi

回答

0

我在responseImage函数中添加了一个可选的队列参数,以便可以使用任意的DispatchQueue来运行completionHandlerenter image description here

这里是叉:

pod 'AlamofireImage', :git => 'https://github.com/timaktimak/AlamofireImage.git', :branch => 'master' 

编辑:它被并入的,所以AlamofireImage现在有调用自定义DispatchQueue完成块的功能。

希望它有帮助!

+0

谢谢,看起来不错 – achi