EveryDiary - Push Notification (1)

ulls12·2024년 3월 21일
0

Swift TIL

목록 보기
56/60

일기앱을 구현하면서, 사용자의 기록하는 습관을 도와주기 위해 알림 기능이 필요하다고 생각했다. MVP 중간 발표 때는 시간이 부족해서 손대지 못했었는데 코드 정리와 데이터 플로우를 어느정도 끝내고 개발할 여력이 생겨 직접 맡아 보았다.
일기 앱인 만큼, 여러 개의 알림이 필요하지 않고 하루에 단 한 번, 쓸 시간을 정해주면 된다.
시간을 선택하는 뷰 컴포넌트와 반복할 요일을 선택하는 뷰 컴포넌트가 있으면 된다. 사실, 매일 쓰는 일기를 지향하는 컨셉이라 반복할 요일이 필요하냐는 의견이 있었지만, 처음부터 일기를 매일 쓸 수는 없으니, 조금씩 늘려갈 수 있도록 알림으로 도와주자는 취지로 다가가자고 설득하였다. 팀원들도 수긍하는 분위기였고 최종 결정을 내리게 되었다.

View 구성

  1. 알림을 on - off 하는 스위치
  2. 시간을 탭하는 버튼
  3. 시간을 탭했을 때 나오는 timePicker
  4. 반복을 탭하는 버튼
  5. 반복을 탭했을 때 나오는 요일

이전에 SettingVC를 구성할 때, 하나의 테이블 뷰에 여러 개의 셀을 구현한 적이 있었다. 요번에도 똑같은 방식을 적용하면 코드 관리에 용이할 것이라는 생각이 들었다.
그래서 총 4개의 cell로 구성을 했다.

  1. 스위치 버튼이 담겨있는 NotificationCell
  2. 시간, 반복을 탭할 수 있는 DateCell
  3. 시:분 을 고를 수 있는 TimePickerCell
  4. 요일을 체크할 수 있는 DayPickerCell

1 테이블뷰 n Cell 구성은 이미 해봤기 때문에 뷰를 구성하는 건 그리 오래걸리지 않았다.
다만, 데이터 플로우를 짜는게 쉽지 않을 거란 생각이 들었다.

  • 알림 스위치 Off일 경우

  • 알림 스위치 On & 시간, 반복을 탭한 경우
    이제 알림 컨트롤러를 구현할 차례이다.
profile
I am 개발해요

0개의 댓글