설정 화면 이동 로직 추가:
설정 버튼(settingsButton) 터치 시 SettingViewController로 이동할 수 있도록 RxSwift를 활용해 이벤트를 처리.
private func bindViewModel() {
homeView.settingsButton.rx.tap
.subscribe(onNext: { [weak self] in
self?.navigateToSettingScreen()
})
.disposed(by: disposeBag)
}
private func navigateToSettingScreen() {
let settingViewController = SettingViewController()
self.navigationController?.pushViewController(settingViewController, animated: true)
}
navigateToSettingScreen 프로퍼티 추가:
RxSwift의 PublishSubject를 활용하여 설정 화면 이동 이벤트를 ViewModel에서 관리하도록 추가.
let navigateToSettingScreen = PublishSubject<Void>()
앱 테마 유지 기능 구현:
앱 실행 시 저장된 사용자 설정을 기반으로 라이트/다크 모드 적용.
func applyTheme() {
let savedValue = UserDefaults.standard.integer(forKey: UserDefaultsKeys.appTheme.rawValue)
let userInterfaceStyle: UIUserInterfaceStyle = (savedValue == UIUserInterfaceStyle.dark.rawValue) ? .dark : .light
if let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
for window in windowScene.windows {
window.overrideUserInterfaceStyle = userInterfaceStyle
}
}
}