2011-03-06 7 views
3

내 웹 사이트에서 이미지를 UITableView로로드하는 방법은 무엇입니까? 성능을위한 가장 좋은 방법은 무엇입니까? 그리고 테이블 셀을 재사용 할 때 이미지를 다시 렌더링하는 방법은 무엇입니까?UITableView 내부의 UIImageView에서 이미지로드

그리고 어떻게 didSelect..owow 동안 tableView에서 셀로 이미지를 전달할 수 있습니까?

답변

2

성능을위한 가장 좋은 방법은 게으른 로딩을하는 것입니다 . 사용자가보고 있지 않은 이미지를 다운로드해서는 안됩니다. 샘플 코드는

Lazy TableImages

그것은 처음에는 약간 복잡 보일 수 있습니다 링크

아래 그가에서 사용할 수 있지만 실제로는 그렇지 않습니다. 이 코드의 tableview를 수정하는 방법을 모르는 경우이 코드의 rootview 컨트롤러를 수정하십시오. 예 : 코코아 콩

PS를 사용자 정의 셀을로드 :이 코드 당신은 즉시있는 tableview 셀 이미지를 필요로 다운로드를 시작

0

모든 이미지가 함께있을 픽셀 수를 가져 와서 (이상적으로 웹 사이트에 작은 크기의 이미지를 만들 수 있습니까?) 4를 곱하십시오. 처리 할 바이트 수입니다. 사용자를 위해 낮은 수준으로 유지하십시오!

NSMutableDictionary에 NSMutableDictionary에 NSMperations의 이미지를 (NSMutableDictionary에는 훨씬 더 복잡한 솔루션이 있음에도 불구하고) NSMperations에서 동시에 다운로드하고 키로 URL을 지정하고 png 또는 jpeg 데이터 (또는 실제 UIImage)를 값으로 사용하십시오. 여러 스레드에서 배열에 액세스하므로 캐시 된 사전에 대한 모든 액세스를 중심으로 @synchronize()를 사용해야합니다.

메모리 경고가 표시되면 사전에 모든 항목을 제거하라고 지시하십시오. ..

-(void)somememorywarning; 
{ 
    @synchronized(gImageCacheDict) 
    { 
     [gImageCacheDict removeAllObjects]; 
    } 
} 

가 나는 등의 워드 프로세서에 테이블 셀의 물건을두고 있지만 그것에게 didSelect 전화를하지 않는다 (동기화 블록 내부)

+0

를 사용하는 XML에 이미지 링크를 통과하고, 때까지 자리를 사용해야합니다 진짜가 도착합니다. 이미지가 성공적으로 다운로드 될 때마다 주 스레드에 알림을 게시하여 테이블보기에 reloadData를 알릴 수 있습니다. –

+0

이미지를 어떻게 다운로드합니까? WebView가 더 좋을까요? 이미지 다운로드를 어디에서부터 시작해야할지 모르십니까? 지금까지 조언 주셔서 감사. – jdog

+0

NSData * imageData = [NSData dataWithContentsOfURL : [NSURL URLWithString : @ "h ttp; // yoursite.png"]]]을 사용할 수 있습니다. –

관련 문제