2010-03-16 9 views
3

나는 현재는 비동기 서버에서 이미지를 다운로드하기 위해에있는 UIImageView의 서브 클래스를 만들려고 해요는,UIImageView의 하위 클래스를 사용하지 않는 이유가 있습니까?

) 나 자신에 의해 그것을 할 시도하지만 난 아주 멀리 아직 사라하지 않은 : D

어쨌든, 나는 주변 모습이 발견 : UIView의 아닌있는 UIImageView를 서브 클래 싱 이유 :

AsyncImageDownload

내가이 떠오르는 코드와 처음에보고했다?!?

의견이 있으십니까?

환호 동료,

Gotye.

답변

1

UIView를 서브 클래 싱하는 이유는 예를 들어, 이미지를 다운로드하는 동안 UIActivityIndicator를 표시해야하기 때문입니다. 그들은이 예를 보여주지는 않지만이 코드를 사용했고 정말 좋습니다. 또한이 게시물에 대한 주석을 살펴보면 더 많은 코드 예제를 찾을 수 있으며 캐싱과 멋진 기능도 포함됩니다.

웨인 Cochra's comment을 살펴보십시오. 그의 YellowJacket.zip 코드는 매우 좋습니다.

+0

, 나는 애플 코드 http://developer.apple.com/iphone/library/samplecode/LazyTableImages/index.html#//apple_ref/doc/uid/DTS40009394 가에 의해 훨씬 더 효율적이라고 생각 markj의 것보다;) 그래서 나는 그것에 충실 할 것 : D – gotye

+0

애플의 코드는 이미지 다운로드와 테이블 뷰를 긴밀하게 결합시킨다. 나는 당신이 이미지를 자급 자족하는 패턴을 사용하여 다시 고려해야하고 파일을 다운로드하고 캐시하고 이미지를 표시 할 수 있다고 생각한다. 누군가 (여러분, 지금부터 몇 달 후 :)가 테이블보기를 볼 때 더 쉽게 재사용 할 수있을뿐만 아니라 이해하기 쉽게 만듭니다. –

2

Gang of Fours design pattern 철학 부분

" '클래스 상속'위에 호의 '개체 조성물'"이다.

이렇게하면 배출물 간의 밀 결합이 줄어 듭니다. 그런 다음 한 클래스를 변경하면 시스템의 다른 클래스에 미치는 영향이 줄어 듭니다. 이렇게하면 변경 작업이보다 쉽고 안정적이며 유지 관리가 쉬운 시스템이됩니다.

이 경우 앞에서 언급 한 포스터와 마찬가지로 진행 표시기를 표시하는 등의 다른 작업도 이미지에서 수행 할 수 있습니다. 어쨌든

관련 문제