2011-03-07 2 views
0

나는 네트워크 큐를 사용하여 데이터를 표시한다는 점에서 uitableview가 있습니다. 나는이 같은 CellIdentifier를 사용iphone uitable보기 데이터 표시 문제

NSString *CellIdentifier = [NSString stringWithFormat:@"%i_%i" , indexPath.section , indexPath.row]; 

등 데이터를 한 번만로드

if(cell ==nil) 
{ 
} 

조건

를 확인합니다.

이렇게하면 데이터가로드되지만 문제는 이미지 뷰에 있습니다. 이미지 크기가 커서 시간이 걸립니다. 이미지가로드되지 않고 사용자가 표를 스크롤하면 해당 이미지는 표시되지 않습니다. 이미지가 표시 될 때까지 기다렸다가 테이블을 스크롤합니다.

로드되지 않은 이미지를 다시로드 할 수있는 방법이 있습니까?

모든 데이터를 다시로드하지 않겠습니다.

답변

1

이미지를 테이블보기로로드 할 때 좋은 LazyTableImages Example by Apple을 사용할 수 있습니다. 이 유형의 코드를 작성할 필요가 없습니다 (각각 다른 셀 ID). Apple 문서마다 테이블 뷰 셀을 다시 사용해야합니다. 그렇지 않으면 스크롤하는 동안 너무 많은 메모리가 필요합니다.

2

(cell == nil) {}가 잘못 이해했는지 확인했습니다.
데이터를 한 번만로드 할 수 있도록이 조건을 사용하면 안됩니다. 필요한 경우에만 새 셀을 작성하는 데 사용해야합니다.
이 조건을 벗어난 각 셀을 설정해야합니다.

그리고 각 셀마다 다른 CellIdentifier를 사용해서는 안됩니다. 이것은 게으른 로딩을 올바르게 구현하기 위해 "게으른"사람들이 도입 한 나쁜 해킹입니다.

사과에서 어떻게 수행해야하는지 보려면 LazyTableImages 예제를보아야합니다.