TableView에서 이미지 로드 지연 정보
아래와 같은 방법을 다시 쓰다
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath
{
//
UIImage *image = [self getImageForCellAtIndexPath:indexPath];
[cell.imageView setImage:image];
}
이것은 시간 지연 불러오는 문제를 해결했지만 네트워크 속도가 느리거나 그림이 크면 프로그램이 사용자에 대한 응답을 잃을 수 있습니다.
그 이유는
UIImage *image = [self getImageForCellAtIndexPath:indexPath];
이 방법은 이 메서드를 처리하는 데 많은 시간이 걸릴 수 있습니다.그래서 사용자에 대한 응답을 잃었습니다.그래서 이 방법을 제시해야 한다.
-(void)updateImageForCellAtIndexPath:(NSIndexPath *)indexPath
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
UIImage *image = [self getImageForCellAtIndexPath:indexPath];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
[cell.imageView performSelectorOnMainThread:
@selector(setImage:) withObject:image waitUntilDone:NO];
[pool release];
}
그리고 이 일을 하기 위해 라인을 새로 개설하다
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath
{
[NSThread detachNewThreadSelector:@selector(updateImageForCellAtIndexPath:)
toTarget:self withObject:indexPath];
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.