2017-06-13 136 views
0

SDWebImage的sd_setImage的完成塊的線程是什麼?SDWebImage的sd_setImage的線程

如果我從完成塊修改UI,是否應該總是將該代碼包含在DispatchQueue.main.async() {}之內?

+0

它調用它的主線程 – dan

+0

就OK了......我發誓我一個'DispatchQueue.main.async在裏面完成塊包裝代碼固定一個很怪異的行爲一次()'。怪異行爲的原因可能是其他事情。基本上,我正在拍攝所得到的圖像並將其蒙上一層面膜,再次將其設置爲'UIImageView'。 – Jonny

回答

0

您不需要使用DispatchQueue.main.async() {},完成塊總是在主線程上調用。 sd_setImage方法的部分源代碼: enter image description here

+0

我想這在技術上可能是正確的。然而,我仍然需要在'DispatchQueue.main.async(){'中調用我的代碼,並且我相信問題/原因是不同的,但實際上由'DispatchQueue.main.async()'解決。我在圖像上四捨五入(使用CALayer蒙版),舍入的圖像大小將不正確。我有一個UICollectionView裏面的圖像,它可能是一些自動佈局問題或其他尺寸問題還沒有完全調整完成處理程序中的圖像視圖的大小。 – Jonny

+0

聽起來很奇怪。也許你的UI操作需要通過調用'async()'方法進入隊列任務。 –