서버에서 이미지를 비동기 적으로로드하려고합니다. 그러나 스크롤하는 동안 이미지가 변경되지 않고 스크롤이 중지 된 후에 만 이미지가 변경됩니다. "로드 된"메시지는 스크롤이 중지 된 후에 만 콘솔에 나타납니다. 스크롤하는 동안 이미지가 셀에 나타나길 원합니다.스크롤 할 때 UITableViewCell 업데이트
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
CustomCell *cell = (CustomCell *)[_tableView dequeueReusableCellWithIdentifier:@"CustomCell"];
ZTVRequest *request = [[ZTVRequest alloc] init];
[request getSmallImg completionHandler:^(UIImage *img, NSError *error) {
if (! error) {
NSLog(@"loaded")
cell.coverImgView.image = img;
}
}];
return cell;
}
'cell.coverImgView.image = omg;'는 백그라운드 스레드에서 실행중인 것으로 나타나므로 즉시 업데이트되지 않습니다. 'dispatch_async (dispatch_get_main_queue(),^{ cell.coverImgView.image = img; })'와 같은 것을 사용하여 메인 큐에 이미지로드를 디스패치해야한다. 참조 : http://stackoverflow.com/q/4944363/558933 –
도움을받지 못했습니다. 나는 대답을 추가했습니다. – user1561346