Closed PecanPiePOS closed 1 year ago
🔸 파일이 많이 보이는데, 그 중 minor 한 변경이 있는 파일들이 있기 때문에 실제로는 그렇게 많은 파일이 바뀌지 않았습니다. 천천히 보시면 될 것 같습니다.
이해가 필요하거나 추가적인 설명이 필요한 코드 설명 추가했습니다.
https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/data/home/model/HomeModel.swift#L12-L34 https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/home/REF_viewModels/HHomeViewModel.swift#L44-L53
https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/alarm/viewControllers/AlarmViewController.swift#L14-L16 https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/alarm/viewControllers/AlarmViewController.swift#L100-L104
알림뷰에서 "나의 서재 관련" 알림이 오면 delegate 을 통해 dismiss 된 후 tab 을 이동하는 코드입니다.
https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/common/base/BBaseButton.swift#L19-L23
https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/common/base/BBaseViewController.swift#L13-L34
func bindViewModel() {}
func setStyles() {}
func setLayout() {}
https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/home/REF_viewControllers/HHomeViewController.swift#L240-L253
https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/home/REF_viewModels/HHomeViewModel.swift#L127-L151
https://github.com/telling-me/tellingme-iOS/blob/390b955712ea336032680a2c773c88daae543d1e/TellingMe/tellingMe/util/managers/TimeManager.swift#L10-L48
기타 사항을 적어주세요. 실제 개발 기간 : 23시간
macOS: Ventura 13.6 iOS: iphone 15 pro simulator
closes: #123 closes: #137 closes: #138 closes: #145
📃 전달 사항
📍 Xcode 15.0 으로 작업했습니다.
🔸 파일이 많이 보이는데, 그 중 minor 한 변경이 있는 파일들이 있기 때문에 실제로는 그렇게 많은 파일이 바뀌지 않았습니다. 천천히 보시면 될 것 같습니다.
⭐️ 꼭 StringLiterals 파일 추가하시고, 에셋 파일 슬랙으로 보내드렸으니, 그거 꼭 기존에 있는 파일 지우시고, 추가해주시기 바랍니다~
📸 주요 코드
이해가 필요하거나 추가적인 설명이 필요한 코드 설명 추가했습니다.
코드 추가 설명
https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/data/home/model/HomeModel.swift#L12-L34 https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/home/REF_viewModels/HHomeViewModel.swift#L44-L53
protocol 로 DIP 를 활용합니다. QuestionModelType 으로 필요한 모델을 경우에 따라 쉽게 바꿔 쓸 수 있게 합니다.
https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/alarm/viewControllers/AlarmViewController.swift#L14-L16 https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/alarm/viewControllers/AlarmViewController.swift#L100-L104
알림뷰에서 "나의 서재 관련" 알림이 오면 delegate 을 통해 dismiss 된 후 tab 을 이동하는 코드입니다.
https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/common/base/BBaseButton.swift#L19-L23
버튼의 실제 눌리는 면적을 늘리는 코드입니다. BaseUIButton 에서 선언했습니다. 둥그런 버튼 말고, Square 모양의 아이콘을 누르는 버튼에 사용해서 ux 를 좋게 만듭니다.
https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/common/base/BBaseViewController.swift#L13-L34
⭐️BaseViewController 의 사용 방법입니다.
func bindViewModel() {}
func setStyles() {}
func setLayout() {}
는 상속을 받아 override 해서 사용하시면 됩니다. 애초에 viewDidLoad 는 항상 override 하여 사용하므로 추가적으로 viewDidLoad 안에 선언하실 필요가 없습니다. 🔸 우선은 리펙토링을 한 뷰와 뷰컨 위주로 사용했습니다. 천천히 바꿔보시죠!https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/home/REF_viewControllers/HHomeViewController.swift#L240-L253
identity 를 미리 먼저 set 함으로써 애니메이션이 다시 시작할 수 있게 합니다.
https://github.com/telling-me/tellingme-iOS/blob/db08f7a3d37a8a0e27a3338d18b76c6c33ef5d5e/TellingMe/tellingMe/presentation/home/REF_viewModels/HHomeViewModel.swift#L127-L151
에러 메세지가 nil 이 아닌 data 를 RxRelay 로 받으면, 네트워크 오류 팝업뷰를 띄웁니다.
https://github.com/telling-me/tellingme-iOS/blob/390b955712ea336032680a2c773c88daae543d1e/TellingMe/tellingMe/util/managers/TimeManager.swift#L10-L48
현재 시간이 아침 6시인지 확인하고, 오전 6시 이후인데 업데이트가 되어있지 않았다면, 홈화면의 question 을 업데이트합니다. 만약 그렇지 않다면 업데이트를 하지 않습니다. 🔸 불필요한 통신을 줄입니다.
✔ 진행사항
🔴 ETC
기타 사항을 적어주세요. 실제 개발 기간 : 23시간
💻 개발환경
macOS: Ventura 13.6 iOS: iphone 15 pro simulator
closes: #123 closes: #137 closes: #138 closes: #145