2016-12-28 4 views
0

Проще говоря, я пытаюсь загрузить изображение на сервере с помощью AlamofireImage, и, похоже, что расширение DataRequest отвечает за это, возвращает содержимое основного потока.Удалить AlamofireImage responseImage из основной темы

Это проблематично, поскольку оно неизбежно блокирует пользовательский интерфейс, когда он продолжает обрабатываться.

см.прикрепленную изображение, точка останова останавливает выполнение основного потока (на левой стороне)

Response on main thread

Как я могу перенести эту DataRequest использовать OperationQueue, что это не главный?

+0

Возможно, @cnoon сможет предложить некоторое понимание? – achi

+1

Я думаю, что функция фильтра - это то, что блокирует основной поток. Я думаю, вы должны попробовать применить фильтр в другом потоке. Удачи! – timaktimak

+0

Да, это преступник. Хотя это не отвечает на весь вопрос, я бы хотел, чтобы весь обратный вызов responseImage был включен в дополнительный поток. @timaktimak – achi

ответ

0

Я добавил необязательный параметр очереди в функцию responseImage, чтобы использовать DispatchQueue для запуска completionHandler. enter image description here

Вот вилка:

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

Edit: он был слит в, так AlamofireImage теперь имеет функциональность вызова блока завершения на обычае DispatchQueue.

Надеюсь, это поможет!

+0

Спасибо, хорошо выглядит – achi

Смежные вопросы