一 題外話

  之前寫過一篇最新版SDWebImage的使用,也簡單的介紹了一下原理。這兩天正梳理自己的知識網(wǎng)絡(luò),覺得有必要再閱讀一下源碼,一是看具體實現(xiàn),二是學(xué)習(xí)一下優(yōu)秀開源代碼的代碼風(fēng)格,比如接口設(shè)計,設(shè)計模式,變量命名等等。

  既然是第一篇,就要制定一個閱讀源碼的計劃,以什么順序閱讀完全部代碼。我們從最常見的入口切入sd_setImageWithURL,一路下去,最后再閱讀沒有設(shè)計到的部分。

  在開始之前強烈建議先去讀我之前的文章:最新版SDWebImage的使用。心里有個大概再去探討細節(jié),效果更佳。

二 入口

  我們?yōu)槭裁词褂肧DWebImage,是因為他幫我們實現(xiàn)了圖片的二級緩存,使我們加載圖片更流暢。當(dāng)然你也可以使用SDWebImage中幾個很棒的工具類,比如SDWebImageDownloader,用來下載圖片?;蛘逽DImageCache用來緩存圖片或者NSData。我們先來看看UIImageView+WebCache中的基本方法:

  在UIImageView+WebCache類的最上面,很貼心的貼了一個使用例子,這也是我們很常見的tableViewCell加載圖片的場景

Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{    static NSString *MyIdentifier = @"MyIdentifier";
 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier]; 
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier]
                 autorelease];
    } 
    // Here we use the provided sd_setImageWithURL: method to load the web image    // Ensure you use a placeholder image&nbs
        
		

網(wǎng)友評論