그래서 UITableViewCell
을 내 tableView에 삽입하고 있습니다.삽입 - 애니메이션 후에 만 UITableViewCell을 다시로드
[searchTableView beginUpdates];
[searchTableView insertRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationTop];
[searchTableView endUpdates];
이 후 필자는 페이드 애니메이션으로 tableviewcell을 업데이트하는 비동기 요청을 실행하고 있습니다.
[someRequestWithCompletion:^(id data) {
dispatch_async(dispatch_get_main_queue(), ^{
[searchTableView beginUpdates];
[searchTableView reloadRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
[searchTableView endUpdates];
});
}];
하지만이 요청은 삽입 애니메이션이 완료되기 전에 완료 될 수 있습니다. 삽입이 끝난 후 요청이 완료되면 아무런 문제가 없습니다. 이전에 끝나면 현재 삽입중인 동일한 셀에서 reloadRowsAtIndexPaths
을 호출하면 셀이 즉시 표시되고 삽입 애니메이션이 사라지는 동안 강제로 다시로드됩니다.
셀이 완전히 삽입 된 후 다시로드 업데이트를 실행하는 방법은 무엇입니까? 이 일을하는 가장 좋은 방법은 무엇입니까? 질문이있는 경우
,
왜 새로 삽입 한 행을 다시로드해야합니까? "someRequestWithCompletion"이 완료되면 행을 삽입하고 기다리지 않으시겠습니까? – rmaddy
여기에서 나는 tableview를 다시로드 할 수 있다고 생각 했었습니다. ( –
@KishorKundan 테이블보기 만 다시로드하면 전체 테이블, 특정 행 또는 특정 섹션을 다시로드 할 수 있습니다. 한 행만 다시로드하면 드문 경우가 아닙니다. 사람들은 셀을 다시로드한다고 말합니다. – rmaddy