【发布时间】:2010-03-16 09:12:17
【问题描述】:
我目前正在尝试创建 UIImageView 的子类,以使其从服务器异步下载其图像;)
我尝试自己做,但我还没有走多远:D
不管怎样,我环顾四周发现了这个:
我查看了代码,首先想到的是:为什么要继承 UIView 而不是 UIImageView ?!?
有什么想法吗?
朋友们,
哥蒂。
【问题讨论】:
标签: iphone asynchronous download uiimageview subclass
我目前正在尝试创建 UIImageView 的子类,以使其从服务器异步下载其图像;)
我尝试自己做,但我还没有走多远:D
不管怎样,我环顾四周发现了这个:
我查看了代码,首先想到的是:为什么要继承 UIView 而不是 UIImageView ?!?
有什么想法吗?
朋友们,
哥蒂。
【问题讨论】:
标签: iphone asynchronous download uiimageview subclass
Gang of Fours design pattern 哲学的一部分是
“优先考虑‘对象组合’而不是‘类继承’。”
这减少了对象之间的紧密耦合。那么更改一个类将对系统中的其他类产生较小的影响。这使得更改更容易,从而使系统更稳定、更易于维护。
在这种情况下,正如之前的海报所提到的,它还允许图像执行其他操作,例如显示进度指示器。
【讨论】:
它继承 UIView 的原因是,例如,您应该在下载图像时显示 UIActivityIndicator。他们没有在他们的示例中显示这一点,但我已经使用了这段代码,它真的很好。另请查看这篇文章的 cmets,您会发现更多代码示例,还包括一些缓存和不错的东西。
看看韦恩Cochra's comment。他的 YellowJacket.zip 代码非常好。
【讨论】: