Есть ли причина, по которой мы не используем подклассы UIImageView? - PullRequest
3 голосов
/ 16 марта 2010

Я сейчас пытаюсь создать подкласс UIImageView, чтобы заставить его загружать изображение с сервера асинхронно;)

Я пытался сделать это сам, но пока не очень далеко: D

Во всяком случае, я осмотрелся здесь и нашел это:

AsyncImageDownload

Я посмотрел на код, и первое, что приходит на ум, это: почему наследование UIView, а не UIImageView?

Есть мысли?

Приветствия, товарищи,

Готье.

Ответы [ 2 ]

2 голосов
/ 16 марта 2010

Часть шаблона проектирования Gang of Fours - это философия

"Пропагандировать" композицию объекта "над" наследованием класса "."

Это уменьшает жесткую связь между объектами. Тогда изменение одного класса будет иметь меньшее влияние на другие классы в системе. Это облегчает изменения, в результате чего получается более стабильная и простая в обслуживании система.

В этом случае, как упоминалось в предыдущем постере, оно позволяет изображению выполнять и другие действия, например отображать индикатор прогресса.

1 голос
/ 16 марта 2010

Причина, по которой он создает подкласс UIView, заключается в том, что вы, например, должны отображать UIActivityIndicator во время загрузки изображения. Они не показывают это в своем примере, но я использовал этот код, и это действительно хорошо. Также посмотрите на комментарии к этому посту, вы найдете больше примеров кода, включая кеширование и другие полезные вещи.

Взгляните на Уэйна Комментарий Кохры . Его код YellowJacket.zip очень хорош.

...