TeamFair / ILSANG-iOS

0 stars 1 forks source link

[Feat/#50] 이모지 조회, 등록, 삭제 API 연결 #54

Closed JINi0S closed 5 months ago

JINi0S commented 5 months ago

close #50

✏️ 개요

이모지 조회, 등록, 삭제가 가능하도록 API를 연결했습니다.

💻 작업 사항

서버에서 API 수정되면 동작하도록 구현해두었습니다. 기존 이모지버튼에 사용되는 아이콘을 sfsymbol로 변경되어서 에셋은 삭제하고, 코드로 구현하였습니다.

📄 리뷰 노트

  1. 브랜치 변경해서 보셔도 동작하는 것이 없을 겁니다.. 조회 API > {challengeId}를 url에 추가하면 잘 받아오는데 이는 삭제될거라하셔서 지우고 커밋해두었습니다. 등록 API > 등록은 잘 되는데, 응답값이 스웨거 예시에는 있는데 실제 서버 응답은 없어서 수정 요청해두었습니다. 해당 예시값으로 디코딩하도록 구현해두었습니다. 삭제 API > 삭제에 EmojiId가 필요한데 현재 받아올 수 있는 API가 없어, 서버 업데이트되면 다시 확인해야할 듯 합니다.

  2. 전체 흐름은 다음과 같습니다.

    • 2-1) 현재 보고 있는 도전내역의 인덱스가 변경(스크롤하는 경우)되면 이모지 조회 요청
    • 조회 성공하면 해당 결과값을 emoji변수에 저장, 실패하면 nil로 저장
    • emoji 변수가 nil이 아닐 때 서버에 이모지 상태 변경 가능하도록 하기 위함
    • 2-2) 사용자가 버튼 클릭시 이전의 상태가 false면 이모지 등록 API 요청, true면 이모지 삭제 API 요청
  3. 스크롤을 계속하는 경우, 빠르게 버튼을 클릭하는 경우 등 추후에 Debounce, Throttle를 적용해보면 좋을 것 같습니다 !!

📱결과 화면(optional)

버튼이 활성화된 상태일 때 디자인이 되어있지 않아서 임의로 투명도로 조절해두었습니다.