분류 전체보기 13

[RxSwift, MVVM, Clean Architecture] 프로젝트에 viewmodel의 input, output을 적용하면서 느낀점들

( 작은 단위에 제한된 느낀점들임 ) 우선 위에서 빨갛게 해놓은 작은 단위에 대한 설명부터 하기전에, 지금 하는 프로젝트의 특징을 먼저 나열해보겠다 ! - 서버 X, 데이터는 UserDefaults에 저장함. - 로그인 기능 없음 - 위치 정보 확인함 - local notification을 활용할 예정 로그인 기능이 없기 때문에 마이 페이지도 없다. 그렇기 때문에 탭 3개 중 하나는 현재 앱 버전, 기본 알림 설정, 위치정보활용방침을 설정하거나 볼 수 있는 탭이다. 이 설정 탭을 구현하면서 이 프로젝트에 적용하기로 했던 것들(MVVM, Clean Architecture, RxSwift)을 적용해보면서 느낀점에 대해서 적어볼 예정이다 ! 구현 화면은 아래와 같다 ! (UIView에 tap gesture를 ..

swift/swift 공부 2024.02.16

[RxSwift] UIView에 tap event 추가하기 ( rx.event의 형태)

UIView에 tap gesture를 추가하게 된 이유) 앱의 SettingView를 구현하게 되었는데 TableView를 사용하지 않고 공통된 UIView를 생성하고 VC에서 그 UIView를 생성해서 UI를 그려야겠다고 생각했다. 이유는, 1. 설정에 많은 리스트가 필요하지 않아서 모델링을 해서 뷰를 그려야하는게 조금 번거로울 수 있겠다. 2. 프로젝트의 다른 부분에서 UITableViewDiffableDataSource로 tableview를 완성하기 위해 수많은 시행착오를 겪으면서 tableview를 그리는 것에 정신이 혼미하다. 이 2가지 이유에 의해서 이번 SettingView에는 간단하게 UIView에 tapGesture를 추가해서 rx로 바인딩해주기로 결정했다. (이 글을 작성하면서 드는 생..

swift/swift 공부 2024.02.15

Custom View Modifier 만들기

정신 없이 프로젝트가 끝났고 마무리를 하면서, 부족했던 부분이나 코드 재사용성에 대해 고민을 하게 되었다. 특히나 view의 modifier를 통해서 형태를 동일하게 유지해야하는 부분이나, 시간이 급해서 따로 View 파일로 만들지 못하고 코드를 두세번 사용한 부분들을 수정하지 못한게 너무 아쉬웠다. 그래서 이렇게 ViewModifier을 중복적으로 사용한 부분을 리팩토링할 방법에 대해 생각해 보았고, 그 결과 Custom View Modifier를 만들어 적용해보기로 하였다. 위의 코드는 우리 프로젝트의 일부이기 때문에 예시는 다른 예시 코드를 통해 만들어볼 예정이다. 조건 - 한집배달과, 세이브배달 두 버튼이 존재함 1. 버튼의 눌림과 상관 없이 버튼의 background에는 cornerRadius가..

swift/swift 공부 2023.09.18