내 애플 리케이션의 여러 위치에서 루프에서 tableView.reloadData() 호출을 사용하고 있습니다. 기본적인 생각은 다음과 같습니다 :tableView reloadData가 각 패스마다 셀을 그리지 않습니다.
let dataSourceArray = []
for arrayItem in anotherArray {
dataSourceArray.append(arrayItem)
self.tableView.reloadData()
}
내가 달성하려는 것은 모델 배열에로드 된대로 각 셀을 tableView로 그려야합니다.
현재 루프가 완료되면 모든 셀이 표시됩니다.
이것은 모두 메인 스레드에서 수행되지만 reloadData 호출의 메인 스레드로 디스패치하려고 시도했습니다. 그것은 아무런 효과가 없었다. 나는 reloadData 후에 tableView.layoutIfNeeded()를 시도했으나 아무런 차이가 없었다.
cellForRowAtIndexPath 및 heightForRow ... 메서드에 중단 점을 배치하면 루프의 각 패스에서 예상대로 일반 tableView 호출을 나타냅니다. 그러나 어떤 이유로 셀은 루프가 완료 될 때까지 화면에 그려지지 않습니다.
어쨌든 내가 시도한 것 이외의 각 단계에서 셀을 그리려면 tableView를 강제로 적용 할 수 있습니까?
왜 'reloadData'를 호출할까요? 'insertRows (at')를 사용하여 단일 행에 대한 전체 테이블보기를 다시로드하지 않고 각 행을 삽입하십시오. – rmaddy