最近做一個(gè)功能是需要在加載圖片的時(shí)候顯示百分比加載進(jìn)度條叽粹,于是就碰上了SDWebImage的一個(gè)問(wèn)題份企。
- (void)sd_setImageWithURL:(nullable NSURL *)url
placeholderImage:(nullable UIImage *)placeholder
options:(SDWebImageOptions)options
progress:(nullable SDWebImageDownloaderProgressBlock)progressBlock
completed:(nullable SDExternalCompletionBlock)completedBlock {
}
這是它的一個(gè)方法耍休,progress是可以顯示已下載的進(jìn)度蛤迎,關(guān)鍵就是將這里的進(jìn)度與我們需要展示的進(jìn)度條數(shù)據(jù)結(jié)合起來(lái)馆里,一開(kāi)始按照它的demo是達(dá)不到效果的(不知道算不算是個(gè)BUG)轩勘,后來(lái)經(jīng)過(guò)各種百度筒扒,終于找到了一個(gè)方法
#define dispatch_main_sync_safe(block)\
if ([NSThread isMainThread])\
{\
block();\
}\
else\
{\
dispatch_sync(dispatch_get_main_queue(), block);\
}
然后在progress的block里面,
dispatch_main_sync_safe(^{
// your code
});
然后就可以實(shí)現(xiàn)接收進(jìn)度實(shí)時(shí)展示在你的進(jìn)度條上了绊寻。