iOS 개발 기록

[iOS] D-day앱 : 2일차 본문

iOS/앱

[iOS] D-day앱 : 2일차

택꽁이 2022. 5. 12. 21:23
728x90

[ D-day 앱 ]

SwiftUI, MVVM, Realm

 

 

[ Recruit 리스트 뷰 :  이름, 날짜, 요일, apply 체크 버튼  ->  날짜 순서대로 정렬 ] 

어제까지 구현한 내용 : 

리스트 뷰, 날짜 순서대로 정렬 

터치시 웹뷰 띄우기  :  WebKit 으로 Link URL 띄우는 걸로 구현 

 

 

 

[ 오늘 구현한 내용 ]

수정한 내역 -

 

1. 네비게이션 링크로 세부 뷰로 들어갔을 때에 탭바가 뜨던거 안뜨게 수정함 
 -> 네비게이션과 탭 뷰의 관계에 대해 다시 배움 ... 

 

 

 

 

 

 

구현한 내용 -

 

1. Apply 체크, Apply 지원 목록 리스트 보기 

Apply 텍스트를 누르면 @ObservedRealmObject로 ViewModel의 Apply 의 Bool값을 토글한다.
ViewModel의 바뀐 값을 @ObservedResults에서 파악해 View로 바로 그려준다. 

이때 Result의 값을 filter를 통해 Apply가 false인 목록만 보여주고, 지원한 목록은 tabbar에 있는 링크를 통해 Apply가 true인 목록만 보여준다. 

 

 

 

 

 

 

 

 

ContextView로 구현한 remove와 삭제된 항목.
RemovedViewModel에 추가된 걸 확인할 수 있다. 

2. 채용 일정 삭제 및 복구 

ContextView로 만들었다. Remove Memo를 누르면 RemovedViewModel에 추가하고 기존의 ViewModel에서는 제거한다.

Recover Momo는 다시 원래 ViewModel로 옮기고, 현재 모델에서는 지운다. 

RemovedViewModel에 추가할 때에는 삭제한 시간을 Date으로 저장해둔다. 

이때 저장한 시간은 특정 시간이 지나면 삭제되는 기능을 구현할 때 쓴다. 

 

 

 

 

 

 

 

ViewModel에 넣어둔 D-day가 지난 데이터가 해당 뷰가 뜨자 removed로 옮겨졌다.  

 

 

3. 날짜 지나면 자동으로 정리

RecruitViewModel은 D-Day가 지나면 RemovedViewModel로,

RemovedViewModel은 삭제된 시간을 기준으로 3일이 지나면 삭제되도록 해두었다. 

 

 

 

 

수정할 내용 

1. 탭 바 색깔

2. 뷰모델에 데이터를 추가하고 지울 때에 애니메이션이 많이 끊기는 느낌을 받는다. 

 

추가할 내용 

1. 저장된 데이터 수정하는 기능 

2. [TodoList]  

일정 추가 : 분류, 이름 

일정 뷰 : 날짜 자동 기록, 분류별, 이름, 체크 -> 꾹 눌러서 다음날로 미루기 

날짜별 이룬 항목 확인 

삭제 확인 

오후 10시, 총 평 기록하도록 알림 

 

 

 

 

 

[ 잘 안풀렸던 것 및 배운 것  ->  블로그에 정리할 내용 ] 

1.  네비게이션과 탭바

원하는 곳에서 탭바를 안보이게 하고 싶은데, 찾아보느라 한참 걸렸다. 

결론적으로는 네비게이션 뷰 안에 탭 뷰가 있어야 했다. 이걸 반대로 했어서 안되는 것이었다. 

요기서 정리를 잘해놔서 매우 도움이 되었다. 

 

https://github.com/TreatTrick/Hide-TabBar-In-SwiftUI

 

GitHub - TreatTrick/Hide-TabBar-In-SwiftUI: This tutorial provides a solution to hide TabBars when using TabView in SwiftUI

This tutorial provides a solution to hide TabBars when using TabView in SwiftUI - GitHub - TreatTrick/Hide-TabBar-In-SwiftUI: This tutorial provides a solution to hide TabBars when using TabView in...

github.com

 

 

+) toolbar 와 toolbarItem은 네비게이션 뷰 안에 있어야 추가된 아이템이 보인다. 

 

 

2. @ObservedRealmObject

 

내가 프로젝트에 적용한 예

이제야 @ObservedResults와 @ObservedRealmObject와의 개념을 조금 알 것 같다. 

레퍼런스 보면서 조금 더 정리해서 SwiftUI - Realm 문서에 추가해두어야겠다. 

 

 

 

 

 

 

[github] 

https://github.com/LeeTaek/recruit_Dday_App

 

GitHub - LeeTaek/recruit_Dday_App: 등록한 앱의 날짜의 D-day와 등록한 링크의 웹뷰를 볼 수 있는 앱.

등록한 앱의 날짜의 D-day와 등록한 링크의 웹뷰를 볼 수 있는 앱. Contribute to LeeTaek/recruit_Dday_App development by creating an account on GitHub.

github.com

 

'iOS > ' 카테고리의 다른 글

[CI/CD] FastLane  (0) 2023.02.06
[iOS] 성경필사 앱  (0) 2022.06.02
[iOS] D-day앱: 3일차  (0) 2022.05.20
[iOS] D-day 앱 : 1일차  (0) 2022.05.11
[iOS] D-day 앱  (0) 2022.05.11