2016-12-28 55 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