一 題外話

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

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

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

二 入口

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

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

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(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)友評論