SeSAC_week7_메모앱(평가과제)

시연 영상

시연 기기 시연 영상
iPhone 13 Pro Max iPhone13Max_Run
iPhone 8 iPhone8_Run

최초 팝업 화면

iPhone13Max_Launch

  • 앱을 처음 설치하고 시작하게 되면 popup이 노출됩니다
  • 이후에는 팝업이 노출되지 않습니다

메모 리스트 화면(HomeVC)

iPhone13Max_MemoList

  • 작성된 메모가 최신순으로 정렬됩니다
  • 작성된 메모가 1000개 이상이라면 3자리마다 , 으로 단위 표시를 해줍니다
  • 메모를 고정할 수 있고 최대 5개까지 가능합니다 (추가 결제를 하면 이용하도록 해봤습니다ㅋㅋㅋ)
  • 고정된 메모도 최신순으로 정렬됩니다
  • 고정된 메모가 없다면 섹션을 표시하지 않습니다
  • 메모를 클릭하면 수정 화면으로 이동합니다
  • swipe로 고정,고정해제,삭제 기능합니다
  • 삭제 시에 삭제 여부를 물어봅니다
  • 보이는 날짜는 오늘/이번주/이외에 따라 다릅니다
  • 하단 툴바에서 버튼을 클릭하면 메모 작성 화면으로 이동합니다

검색 기능(HomeVC에서 처리)

iPhone13Max_Search

  • 제목, 내용에서 검색이 가능합니다
  • 검색어와 일치하는 부분은 주황색으로 표시가 됩니다(일치하는 부분이 모두 색칠됩니다)
  • 검색어를 입력하기 시작하면 검색이 된 메모의 갯수를 보여주고 검색 결과 화면이 보여집니다
  • 검색 화면에서도 swipe로 고정,고정해제,삭제 기능이 가능합니다
  • 검색 결과에서 메모를 클릭하면 수정 화면으로 이동합니다

작성 수정 기능(EditVC)

iPhone13Max_Edit

  • 작성/수정 화면을 모두 담고 있습니다
  • 작성/수정에 따라 저장/완료 버튼으로 보여집니다
  • 처음으로 엔터를 기준으로 이전 텍스트는 제목으로, 이후 텍스트는 내용으로 저장됩니다
  • 완료(저장) 버튼, 뒤로 버튼, 강제 종료, 끌어서 뒤로 간다면(스크린 엣지 기능) 작성중인 내용으로 메모가 저장됩니다(단, 텍스트가 비어있다면 삭제됩니다)
  • 메모 작성 시 공유 버튼을 누르면 메모를 저장하고 바로 공유 할 수 있도록 하는 alert를 띄웁니다
  • 메모 작성 시 텍스트가 비어있는데 공유 버튼을 클릭하면 텍스트를 적어달라는 alert를 띄웁니다
  • 메모 수정 시 공유 버튼을 통해 txt파일로 저장이 가능합니다(공유도 가능은 할텐데 디바이스에서는 아직... 안해봤습니다)

찾아낸 버그

  • 테이블 뷰의 백그라운드가 검정색이라 구분이 잘 안됩니다(다크모드 대응을 하다가 실수했습니다..)
  • 수정 화면에서 txt파일을 덮어쓰고 파일을 실행시켰는데 이전의 값이 들어갑니다(두번째로 파일을 공유하게 되면 안되는 버그 - 덮어쓰기가 잘 안되는건지)
  • 첫 화면에서 간헐적으로(정확한 케이스를 찾고있따..) 메모의 갯수가 정확하게 나오지 않습니다(추가 삭제시 반영이 안되는 버그 -> 옵저버를 달면 쉽게 처리가 가능할텐데 다른 방법은 뭐가 있을지 고민해보기)

아쉬웠던 점

  • 생각보다 구현이 오래 걸려서 리팩토링을 못했습니다(메서드화를 거의 못하고 복붙으로 이뤄져 있습니다 ㅋㅋ)
  • searchViewController에서 다른 VC를 띄워서 하려고 했는데 여기서 막혀서 하나의 VC에서 섹션, 셀을 바꿔줬습니다(여기서 하루정도를 날렸습니다) -> 그래서 안쓰는 VC가 생김
  • 공유에 대한 부분을 급하게 만들어서 디바이스에서 테스트를 못해봤습니다
  • light모드에서 searchbar부분의 글자색을 바꿔보려고 했는데 실패했습니다(그래서 강제 다크모드)
  • 검색중인지에 대한 분기처리를 나중에 추가해주다보니 코드가 좀 지저분했습니다(처음에 설계를 잘하자!)