Apple🍎/Architecture pattern

예제코드 개요 및 구성 파악하기

생각 깎는 아이 2023. 12. 6. 12:23

화면 Flow


해당 앱은 사용자의 ‘투두리스트’를 관리하는 앱으로 큰 범주의 TaskList가 있으면 각 TaskList안에는 더 작은 단위의 Task가 포함된다. 즉 사용자는 하나의 TaskList를 만든 뒤, 해당 TaskList안에서 여러 Task를 만들어서 관리할 수 있으며 완료된 Task는 check 표시가 가능하다. 

1. Home Screen
   - Home Screen은 사용자가 지금까지 작성한 ToskList를 보여준다. 
   - ToDoList가 아무것도 없을 때 ‘Press Add List to Start’ 라는 문구를 띄워 사용자 행동을 유도한다. 
   - 사용자가 리스트를 작성하면 각각의 TaskList 에 대한 제목,아이콘,Task수를  리스트로 보여준다. 

2. Add TaskList Screen
   - Home Screen에서 Add List 버튼을 눌렀을 때 접근하는 화면으로 TaskList를 추가할 수 있다. 
   - TaskList의 제목과 아이콘을 작성한 뒤 ‘Add List’ 버튼을 누르면 해당 TaskList가 HomeScreen에 추가된다.
   - HomeScreen에 추가된 TaskList는 swipe를 이용해 삭제할 수 있다. 
   - 왼쪽 상단의 뒤로가기 버튼을 누르면 TaskList 생성을 취소하고 HomeScreen으로 돌아갈 수 있다. 

3. Task Screen
   - HomeScreen에서 이미 추가되있는 TaskList를 선택하면 접근하는 화면으로 Task 목록을 보여준다.. 
   - Task가 아무것도 없을 때 ‘Press Add Task to add your first take to the list’문구를 띄워 사용자 행동을 유도한다. 
   - 사용자가 Task를 작성하면 각 Task에 대한 제목과 아이콘, 완료여부를 리스트로 보여준다. 
 
4. Add Task Screen
   - Task Screen에서 Add Task 버튼을 눌렀을 때 올라오는 Sheet으로 Task를 추가할 수 있다. 
   - Task의 제목과 아이콘을 작성한 뒤 ‘Add Task’ 버튼을 누르면 해당 Task가 TaskScreen에 추가된다. 
   - TaskScreen에 추가된 Task는 swipe를 통해 삭제가 가능하며 Done 버튼으로 완료여부 변경이 가능하다.
  

 CoreData
- CoreData를 이용해 TasksList와 Task는 엔티티로 관리한다. 
- TasksList는 Task에 대해서 ToMany ( 1 : N ) 관계이다. 
- Task는 TasksList에 대해서 ToOne ( N : 1 ) 관계이다. 


 

GitHub - Apress/iOS-Architecture-Patterns: source code

source code. Contribute to Apress/iOS-Architecture-Patterns development by creating an account on GitHub.

github.com