-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feat] #183 - 코스 발견에 pagination 적용 하였습니다. #190
The head ref may contain hidden characters: "#183---\uCF54\uC2A4-\uBC1C\uACAC-Pagination"
[Feat] #183 - 코스 발견에 pagination 적용 하였습니다. #190
Conversation
서버에서 24개씩 받아오는 데이터를 처리하기 위함 입니다.
…into Runnect#183---코스-발견-Pagination
다른 View 를 다녀와도 초기화가 되지 않게 수정 했습니다.
…into Runnect#183---코스-발견-Pagination
Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseDiscoveryVC.swift
Show resolved
Hide resolved
@@ -97,6 +102,22 @@ extension CourseDiscoveryVC { | |||
self.searchButton.addTarget(self, action: #selector(pushToSearchVC), for: .touchUpInside) | |||
self.uploadButton.addTarget(self, action: #selector(pushToDiscoveryVC), for: .touchUpInside) | |||
} | |||
|
|||
private func setDataLoadIfNeeded() { /// 데이터를 받고 다른 뷰를 갔다가 와도 데이터가 유지되게끔 하기 위한 함수 입니다. (한번만 호출되면 되는 함수!) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
지금 이 로직대로 실행되면 다른 페이지에서 현재 뷰로 왔을 때
마지막으로 스크롤 했을 때의 데이터가 다 남아있는게 맞나요?!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
지금 이 로직대로 실행되면 다른 페이지에서 현재 뷰로 왔을 때 마지막으로 스크롤 했을 때의 데이터가 다 남아있는게 맞나요?!
네 맞습니다 그거 때문에 구현을 했는데
CRUD가 있을때 어떻게 할지 고민 해보겠습니다....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...👍
🌱 작업한 내용
그에 맞게 라우터 수정과 Pagination 로직을 추가 했습니다.
pageNo
추가저희 API를 보시면 디폴트가 pageNo = 1 로 수정 되었고 직접 추가를 해줘야하기 때문에 변경 하였습니다.
scrollViewDidScroll()
메서드 추가 ⭐️⭐️viewWillAppear()
로직 추가🌱 PR Point
이해 안 되는 부분이 있을까봐 주석을 달아 놨습니다.
코드 리뷰 후 정말 필요하다 싶은 것 빼고는 주석 지우고 머지 할 생각입니다.
Pagination
의 로직을 구현했는데 아래 블로그에 정리해놨습니다이해 안 될 수도 있는데 안된다면 따로 디스코드 요청 바랍니다!
Pagination 정리
요약
courseList 의 전체 개수가 pageNo x 24 보다 작다면 데이터를 다 불러왔다고 생각하여 페이지네이션을 끝내는 로직을 구현 했습니다.
24를 곱한 이유는 우리의 API 가 page 당 24개씩 불러오기 때문입니다.
괜찮은 로직이 생각나면 리뷰 부탁드립니다.
📸 스크린샷
📮 관련 이슈