2010-03-16 59 views
3

我目前正試圖以使其從服務器下載鏡像異步創建的UIImageView的子類;)我們有沒有任何理由不使用UIImageView的子類?

我嘗試自己做,但我沒有去很遠又:d

反正我在這裏看了看四周,發現這一點:

AsyncImageDownload

我看了一下這彈簧想到的是代碼和第一:爲什麼繼承一個UIView,而不是一個UIImageView?!?

有什麼想法?

乾杯隊友,

Gotye。

回答

1

它是繼承UIView的原因是,例如,您應該在圖像下載時顯示UIActivityIndi​​cator。他們沒有在他們的例子中顯示這個,但我使用了這個代碼,它非常好。也看看這篇文章的評論,你會發現更多的代碼示例,也包括一些緩存和好東西。

看看韋恩Cochra's comment。他的YellowJacket.zip代碼非常好。

+0

無論如何,我認爲蘋果的代碼 http://developer.apple.com/iphone/library/samplecode/LazyTableImages/index.html#//apple_ref/doc/uid/DTS40009394 是更爲有效比markj的一個;)所以我認爲我會堅持下去:D – gotye 2010-03-16 09:48:39

+0

蘋果的代碼緊密結合圖像下載和表格視圖。我認爲你應該重新考慮使用一種模式,在這種模式下你的圖像是自給自足的,並且可以下載文件,緩存它並顯示圖像。它會使它更易於重用,並且更容易理解何時有人(你,從現在開始幾個月:)查看錶視圖。 – 2010-03-16 10:14:16

2

Gang of Fours design pattern理念的一部分是

「青睞‘對象組合物’上方‘類繼承’。」

這可以減少操作者之間的緊密耦合。然後,改變一個類將會對系統中的其他類產生較小的影響。這使得更改更容易,從而導致更穩定,更易於維護的系統。

在這種情況下,正如前面提到的海報,它允許圖像做其他事情,例如顯示進度指示器。

相關問題