UITableView
은 내 응용 프로그램의 주요보기로 사용합니다. 이 UITableView
의 내용은 HTTP 요청 (JSON)을 통해 웹에서 한 번에 5 개씩로드됩니다. 이 요청 부분에는 성능 문제가 없습니다.UITableView의 성능 저하 원인을 확인하는 방법
그런 다음 셀은 JSON 데이터의 내용에 따라 프로그래밍 방식으로 생성됩니다. 예를 들어 JSON에 셀에 1이 포함되어 있다고 가정하면 UILabel
, 1 UITextField
및 1 UIButton
입니다. 나는 이것을 서브뷰로 추가하여 UITableViewCell
을 수정한다. 세포의 초기 상태도 문제가 없습니다.
아래로 스크롤하면 새 항목이 웹에서로드되며,이 방법이 "더 많은 기능로드"기능을 트리거합니다.
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
let lastElement = data.jsonArray.count - 2
if indexPath.row == lastElement {
page += 1
getFeed()
}
}
그러나 아래로 스크롤하면 작은 동결과 지연이 있음을 알 수 있습니다. 왜 이런 작은 얼기가 발생하는지 나는 모른다.
지금 보이는 모습입니다. 에뮬레이터에서 이것을 기록했지만 실제 장치에서는 훨씬 더 나쁩니다.
여기서 어떻게해야할지 모르겠다. 조언? 감사.
'cellForAtIndexPath :'에 코드를 게시 할 수 있습니까? – Proton
매우 길고 복잡합니다. –
'getFeed'는 사용자가 마지막으로 색인을 자주 스크롤 할 때 여러 번 호출합니다. 이미 실행중인 경우 메소드를 호출하지 못하게해야합니다. – Mahesh