👆🏻 여기 햄버거 버튼을 눌러 목차를 확인하세요.
2023-08-28
![image](https://private-user-images.githubusercontent.com/37580034/263573167-440c1235-1825-4f42-b60b-87676eb1efbd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE5MTE2ODAsIm5iZiI6MTcyMTkxMTM4MCwicGF0aCI6Ii8zNzU4MDAzNC8yNjM1NzMxNjctNDQwYzEyMzUtMTgyNS00ZjQyLWI2MGItODc2NzZlYjFlZmJkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI1VDEyNDMwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk3OTIxNGZmZDgzOGJlNTUzYjE0ZGQxN2UwMDk0OWU3YjgzMGZiY2FmZDJkOGNjODZjYjc1MWQwNmQ0M2Q1OTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.95pC1QzmKycoUm2WC2AhdGRR7ObVG2gbd0q99kdg5Qo)
- TableView의 Section과 Header/Footer를 사용해서 Task 데이터 표시
- 카테고리 데이터를 기반으로 섹션 구분
- 이미지 URL을 활용하여 UIImageView에 표시
- EntryViewController 에 추가
- 개발기간: 2023-08-07(월) ~ 10(목)
- 프로젝트 소개: 간단한 To Do 리스트 앱의 로직을 구현했으며, 할 일을 조회하고, 추가하고, 삭제하고, 완료한 일에는 체크마크를 표시해 따로 관리할 수 있는 기능을 포함합니다.
- 기술 구조 요약
- UI:
UIKit
,Storyboard
UINavigationController
UIAlertController
UITableView
UISegmentedControl
UIButton
UITextField
Auto Layout
- Architecture:
MVC
- Data Storage:
UserDefaults
- UI:
![image](https://private-user-images.githubusercontent.com/37580034/259955640-9a731d29-f62f-4df1-b1ee-9137fe90a813.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE5MTE2ODAsIm5iZiI6MTcyMTkxMTM4MCwicGF0aCI6Ii8zNzU4MDAzNC8yNTk5NTU2NDAtOWE3MzFkMjktZjYyZi00ZGYxLWIxZWUtOTEzN2ZlOTBhODEzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI1VDEyNDMwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk3YTJmNDk2ZTRlZmE5ZWFjYmE2MDU0OWEyODUzMTkxZWRmZGUzYzc3OGU4ZjNjOGU0MzQ3MjE4Nzk3MThiNjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.UtcgY3WppEDeh3lQ9nG9JqIeAsjpV6wtag_RRU5HaWY)
유저의 할 일 목록과 완료한 일 목록을 보여주고 관리합니다.
- 세그먼트 컨트롤을 통해 '할 일'과 '완료한 일' 리스트를 전환할 수 있습니다.
- 할 일을 완료한 경우 체크마크가 표시됩니다.
- 할 일을 선택하면 완료 상태를 변경하고, alert를 통해 유저에게 할 일이 완료되었음을 알립니다.
- 할 일을 스와이프하여 삭제할 수 있습니다.
+
버튼을 눌러EntryViewController
로 이동하여 새로운 할 일을 추가할 수 있습니다.- userDefaults를 통해 앱을 종료해도 사용자 데이터를 유지시킵니다.
새로운 할 일을 입력받아 TodoList에 추가합니다.
d20f0a35e6520229bb379ac970df858ed9037708
UITextField
에 할 일 텍스트 입력 후 '저장' 버튼을 누르거나 키보드의 Return 키를 누르면 할 일을 TodoList에 추가합니다.didAddHandler
클로저를 호출하여 할 일 추가가 완료되었음을 알립니다.- 할 일이 추가되면
tasks
배열에 새로운 할 일 객체를 추가하고, TodoList 화면으로 pop 합니다.
구현 시 어려웠던 기술적인 부분을 블로그에 정리했습니다.
- Storyboard Reference
- UITableView reloadData 시점
- 하나의 tableView에서 각기 다른 데이터를 관리하는 작업
- IndexPath 개념
- UIButton을 코드로 작성하고 이미지 크기를 키우는 방법
- 데이터 관리 (UserDefaults)
- completion handler