앱 개발(17)
-
5주차 iOS - 2021.09.19 ~ 2021.09.25
UPDATE) 레이아웃 업데이트 사용자의 다양한 기기에서 오늘 하루를 제공하기 위해서 레이아웃을 업데이트하였다. 화면이 큰 최신 아이폰들에는 정상적으로 보이지만, 옛날 작은 구형 아이폰 (iPhone SE) 시리즈에서 오늘 하루를 제공하기 위해서 화면 사이즈에 맞게 유동적으로 레이아웃을 조정할 수 있도록 다양한 뷰의 레이아웃들을 업데이트하였다. UPDATE) Floating View 업데이트 기존 Floating View에 있던 요소들이 너무 정적으로 움직이는 것 같아 값이 변경될 때마다 animation과 함께 뷰가 업데이트되도록 코드를 수정하였다. (RxAnimated) 기존의 일기가 Floating View에서 스크롤이 막혀있어 일정 길이가 넘어가면 볼 수 없다는 단점이 있었다. 그래서 Scroll..
2022.04.26 -
4주차 iOS - 2021.09.12 ~ 2021.09.18
ADD) RealmService 추가 RealmService를 만들었다. 기존처럼 Reactor에서 직접 Realm 객체를 생성하여 사용하는 건 비효율적이라고 판단했고, RealmService를 만들어서 Realm을 사용하는 reactor에 이 service를 의존성 주입하여서 read, write, update, delete를 조금 더 효율적으로 사용할 수 있도록 만들었다. UPDATE) UserService추가 및 Floating Panel View 사용성 개선 floating view에 관한 global state를 UserService를 통하여 처리했다. 개념 자체는 어렵지 않았지만 구현 방식에 대해서는 아직 공부할 점이 많이 남았다. ReactorKit이 상당이 잘 만들어져 있는 라이브러리임을 ..
2022.04.26 -
3주차 iOS - 2021.09.05 ~ 2021.09.11
UPDATE) Realm DB 추가, Main 화면에 Floating Panel 추가 아직 Reactor에 익숙지 않은 듯하다. 이건 조금 더 써보면서 적응을 해야 할 것 같다. Realm DB를 처음으로 추가해봤다. 근본적으로 DB를 다루는거라 쿼리문에만 익숙해진다면 어렵지 않은 것 같았다. 이걸 어떻게 암호화하고 서버에 값을 보내야 할지 구조를 정해야 하는데 잘 생각나지 않는다. 테이블도 금방 만들었고 검색도 어렵지 않아 보이니 다음 주에 큰 비중을 두지는 않을 것 같다. MainView에 Floating Panel을 추가하였다. FIX) Floating Panel layout Floating Panel을 추가하니 layout이 내가 예상한것과는 달랐다. Floating Panel을 추가하는 방법이 ..
2022.04.26 -
2주차 iOS - 2021.08.29 ~ 2021.09.04
ADD) Side Menu 추가 디자인을 따라 메인에 있는 앱 드로어를 Side Menu 라이브러리를 통해 구현하고, 추가하였다. 리스트에 있는 버튼들은 재사용이 가능하도록 만들었고, 테마에 따라 컬러가 같이 바뀌도록 구현하였다. 로그아웃 버튼을 만들고 기능을 추가하였다. ❗️도달한 문제 MVVM-C 구조를 쓰면서 Side Menu를 어떻게 추가해야 할지 한참 고민했었다. 또한 SideMenu용 DelegateProxy를 제작하려고 했으나, 기존 NaviagtionDelegate와 충돌이 일어나서 사용하지 못했다. 이건 다른 방법을 찾아야겠다. RxSwift가 Logout을 할 때 생기는 에러를 Dismiss를 한번 해주고 logout을 해줌으로써 해결하였다. REFACTOR) RxAnimated를 통한..
2022.04.26 -
1주차 iOS - 2021.08.19 ~ 2021.08.28
INIT) iOS 앱의 아키텍처 그렇기에 소프트웨어 아키텍처를 많이 생각해보았고 Clean Swift(VIP)나 VIPER, RIBs를 사용하기에는 화면 구성이 그렇게 많지 않아 오버헤드가 아닌가 싶어서 가볍게 구성하기 위해 MVVM-C 구조를 채택하기로 하였다. ViewModel은 개발자마다 구현하는 방법이 다르기에 큰 틀을 잡아주고 User의 Action에 따른 State가 변경되어 업데이트 시점을 정확히 할 수 있다는 장점이 있는 라이브러리인 ReactorKit을 채택하였다. 또한 Coordinator Pattern을 조금 더 쉽게 사용하기 위해 RxFlow를 사용하기로 결정하였고, 앱에 바로 적용시켰다. ADD) 캘린더 추가 iOS앱의 가장 유명한 캘린더 라이브러리인 FSCalendar를 사용하기..
2022.04.26