2023.11.03 ~ 2023.11.09
프론트엔드, 백엔드 간 데이터 통신 구축
게시판들의 page 별로 게시판의 뷰를 가져오는 페이징 통신을 진행했습니다.
자유게시판, 학생회 공지사항의 페이징 통신을 하였습니다.
서버와의 데이터 통신에서 일정한 양의 데이터를 더 작은 덩어리로 분할하여 전송하는 방 법. 대규모 데이터를 처리하거나 대량의 데이터를 효과적으로 표시.
페이징 기술 구현
저희 프로젝트는 전체 페이지 중, 각 페이지 사 이즈를 20으로 하고 스크롤을 아래로 하면 더 많은 페이지 요청을 진행하고, 위로 스크롤 을 재스처하면 새로운 페이지(처음부터) 불러오도록 페이징 기술을 처리했습니다.
전체 뷰는 TableViewController를 이용하여 각 셀 당 페이징 통신으로 불러온 내용 1개 로 할당 했습니다.
메소드를 통해서 불러왔고, 전역 변수로 currentPage(현재페이지)를 조 절해가며 새로운 데이터 페이징 통신을 진행하였습니다.
처음 전체 페이지 목록에 대해 불러올 때, 게시글 제목, 내용, 이미지 등 전체 내용에 대해 불러오고, 상세 내용을 조회 할때는 이니셜라이저를 이용해 가져왔습니다.
객체의 초기화를 담당하는 메서드 또는 함수로, 객체를 초기화를 담당하는 메서드 또는 함 수로, 객체를 생성하고 초기 상태를 설정하는 역할을 합니다.
이니셜라이저는 객체 지향 프로그래밍 언어에서 주로 사용됩니다. 객체의 속성 및 멤버 변수를 초기화하고 작업을 수 행하는 데 사용됩니다.이니셜라이저를 활용한 데이터 전달 : 초기화 메서드나 이니셜라이저를 사용하여 데이터를 다른 화면으로 전달하는 방법입니다.
데이터를 전달하려는 대상화면에 이니셜라이저를 정의하고, 데이터를 전달하려는 화면에서 대상 화면을 초기화할 때 이 이니셜라이저를 사용하여 데이터를 전달합니다. 초기 BoardViewController에서 post배열을 가져와, 이니셜라이저를 이용해 게시판 상세뷰 로 데이터를 전달하고 이 가져온 데이터를 통해 상세뷰를 게시함으로써 데이터 통신의 횟 수를 줄이고 있습니다.
구현 코드 GitHub: https://github.com/Creative-Semester/ios
"OpenBoardViewController" 참고
참고자료 : https://velog.io/@yy0867/Swift-정리-Initialization https://swieeft.github.io/2020/07/20/PagingTableView.h
tml
https://www.youtube.com/@dev_jeongdaeri
야곰(Swift5) 교재
내주계획 : 이미지 업로드 기능, 이미지 데이터 변환, 통신을 진행