-
UITableView Paging 처리iOS/Did 2020. 3. 3. 15:04
테이블 뷰에서 한꺼번에 데이터를 받아오는 것이 아니라
10개씩 데이터를 받아오고,
마지막 row가 되면 새로운 10개의 데이터를 받아오는
Paging 처리가 필요해서 만들게 되었다.
(이렇게 만드는 것이 맞는지는 잘 모르겠다.....)
tableView cellForRowAt delegate method에서
마지막 행인지를 체크한다. (isLastestRow(row:))
그리고 데이터를 추가하고 테이블뷰를 reload하도록 한다.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { guard let cell = titleTableView.dequeueReusableCell(withIdentifier: cellIdentifier) as? TitleTableViewCell else { return UITableViewCell() } if isLastestRow(row: indexPath.row) { makeMoreAscii() } cell.titleLabel.text = asciiList[indexPath.row] return cell }
func isLastestRow(row: Int) -> Bool { return (row == titleTableView.numberOfRows(inSection: 0) - 1) } func makeMoreAscii() { if let list = pagingManager.getList() { self.asciiList.append(contentsOf: list) titleTableView.reloadData() } }
반응형'iOS > Did' 카테고리의 다른 글
round corner 한쪽 모서리만 설정하기 (0) 2020.03.17 사진 Exif에서 날짜 데이터 가져오기 (0) 2020.03.10 NavigationBar 아래 라인 생성 및 삭제 (0) 2020.03.01 TableView에서 TextView 자동 높이 조정 (0) 2020.03.01 git & iTerm2 & Oh my zsh 설치 (0) 2020.02.15