日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS开发笔记 - 基于SDWebImage的网络图片加载处理

發布時間:2025/6/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS开发笔记 - 基于SDWebImage的网络图片加载处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

在IOS下通過URL讀一張網絡圖片并不像Asp.net那樣可以直接把圖片路徑放到圖片路徑的位置就ok,

而是需要我們通過一段類似流的方式去加載網絡圖片,接著才能把圖片放入圖片路徑顯示。

這里找了一段代碼是用來加載圖片:

?

-(UIImage *) getImageFromURL:(NSString *)fileURL {//NSLog(@"執行圖片下載函數");UIImage * result;NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:fileURL]];result = [UIImage imageWithData:data];return result; }


通過這個方法處理后可以得到一個UIImage,這樣就可以放入UI界面的UIImageView了。

?

/*-----------------------------------------------切入主題-----------------------------------------------*/

在APP開發中,加載網絡圖片中大多是以一連串的形式去加載圖片,所以當圖片多的話,線程就會卡死= =!

所以,考慮到用戶體驗,這里需要找一種方法去異步加載圖片!

關于圖片異步加載這個思路,其實我也不太懂,于是借鑒了網上一個開源的項目SDWebImage去對UIImageView進行擴展,

最終優化網絡圖片的加載,使之獲得兩個新特性:

1.多圖片異步加載。

2.加載完圖片會用一個圖片管理器去進行緩存。

其中最重要的一段代碼如下:

?

- (void)setImageWithURL:(NSURL *)url refreshCache:(BOOL)refreshCache placeholderImage:(UIImage *)placeholder {// Remove in progress downloader from queueself.image = placeholder;if (url){if ([[CustomObject sharedCustomObject] isExistImage:url]) {NSLog(@"存在圖片");self.image = [[CustomObject sharedCustomObject]getImage:url];}else{dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{NSData * data = [[NSData alloc]initWithContentsOfURL:url];UIImage *image = [[UIImage alloc]initWithData:data];if (data != nil) {dispatch_async(dispatch_get_main_queue(), ^{[[CustomObject sharedCustomObject] addImage:image key:url];self.image = image;});}});}} }

?

?

可以直接傳入一個NSURL的圖片路徑對象對圖片進行加載,若加載不為空則把圖片緩存放入圖片管理器單例保存起來,下一次再調用這個方式時會判斷URL是否存在去讀緩存。

這樣異步加載,緩存圖片的任務就完成了。

實例源碼可以戳這里。OK。




主動用心,工作努力,堅持學習,坦誠分享,正面樂觀,心存感恩

?

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的IOS开发笔记 - 基于SDWebImage的网络图片加载处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。