메모리스트 - 버튼 클릭 후 표시
푸시 화면 - 네비게이션 바(왼쪽 아이템 1, 오른쪽 아이템 2)
작성 및 수정화면 - 메인 뷰 클릭 후 키보드 업
메모 작성 시 내려가는 것 확인
완료 버튼 클릭 후 키보드 다운
공유 버튼 클릭 후 동작
GitHub private Repository complete
과제분석
아이폰 용, 최소버전 13.0
라이브러리 설치(Realm, Snapkit)
폴더 분할(Base, Write, Search, List, Realm, Transition, Protocol)
다크모드, 라이트모드 설정 / 각 뷰를 만들어 하나의 상태를 표현할 수 있도록 해야함.
Singleton(하나의 클래스인스턴스를 여러 뷰컨에서 접근해 사용할 수 있는 패턴) / Repository Pattern(CRUD 작업시 여러 뷰컨에서 작업하는데, 이것을 한곳으로 묶어준다.)
Large size Navigation Controller
BaseViewController 세팅
테이블 뷰 섹션별 데이터 표시 방법(https://gigas-blog.tistory.com/46)ㅁ
데이의 표시가 이뤄지고 있지만, 뷰의 디테일한 부분이 해결되지 못하고 있다.
이를 우선적으로 searchViewController로 이 부분을 해결하고 데이터가 입력되었을 때, 표시하는 부분을 적용시켜야 할 것 같다.
search TextField 삭제
searchViewController 추가
추가된 searchBar text 내용확인
ui 문제(메모의 contentview, cell의 cornerradius 어떻게 줄지?, totalview내 들어간 3개의 라벨(title, content, date) 내부 패딩 어떻게 줄지?)
우측하단에 툴바컨트롤러 어떻게 넣어줄지(https://woongsios.tistory.com/44)
write view에서 작성한 메모를 list에서 어떻게 보여줄까?
툴바오른쪽으로 몰아넣기
툴바 버튼 클릭하면 작성/수정화면 가기
뷰 누르면 키보드 올라오기
공유하기
완료버튼
왼쪽 버튼(간격 좁히기), 오른쪽 버튼(공유, 저장) ui 추가
스택뷰 내 2개의 textfield 구성(view 하나로 묶음)
구성된 textfield return을 입력할 경우 아래의 텍스트 필드로 이동(문자열을 “\n”을 기준으로 나눠버림)
네비게이션 바 간격을 어떻게 해결해야할지 고민됨,,,
leading slide 구현
true일 경우에 고정된 메모에 넣고, false인 경우에 메모에 넣기
메모데이터 삭제, 구별 버그 수정
작성 - 우측 상단 공유버튼 클릭 후 공유
작성 - 백버튼 + 저장버튼 추가
메인화면 row 선택시 수정화면 전환
서치뷰(전환까지)
데이트 날짜 반영
초기화면
하나씩 추가되기!
3개의 뷰를 갖고 있는 메모앱 프로젝트를 수행하였습니다. 각 뷰가 가지고 있는 기능은 다양하지 않았지만, 기한 내 모든 기능을 수행하지 못했습니다. 프로젝트 수행에 있어 정해진 기한을 가지고 공수를 산정했을 때, 시간적 여유는 충분할 것으로 판단되었습니다. 그러나 막상 프로젝트 수행 시 세부 기능 구현에 소요되는 시간이 짧게는 2배, 길게는 10배까지도 소요됨을 경험하였습니다. 큰 틀에서 기능 구현을 우선적으로 작성 후 관계된 세부 요소들을 수정하면 될 것이라 생각했습니다(큰틀 - 3개의 뷰의 구조, 데이터 구조, 기본적인 UI). 그러나 큰 틀을 잡는 것도 시간 소요도 상당했으며, 큰 틀이 잡히지 않으니 한개의 뷰도 온전하게 구현하지 못함을 경험했습니다. 오히려 작업이 중구난방으로 진행된 것 같아 앞으로 작업 방식을 바꿔야겠다 생각했습니다.
코드를 보면 각 ViewController에서 작업이 전부 이뤄지고 있습니다. 단순히 기능구현만 하는 것이 아니라, 보다 기능이 잘게 쪼개 코드를 구현해야겠다 느꼈습니다.