Skip to content

Commit

Permalink
refactor/#404 viewWillAppear 이벤트에서 값 전달받도록 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
mmaybei committed Dec 10, 2024
1 parent e8f7def commit a8aa2dc
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ final class SetReadyInfoViewController: BaseViewController {
private let rootView = SetReadyInfoView()

private let viewModel: SetReadyInfoViewModel
private let viewWillAppearRelay = PublishRelay<Void>()
private let disposeBag = DisposeBag()


Expand Down Expand Up @@ -45,14 +46,13 @@ final class SetReadyInfoViewController: BaseViewController {

setupTapGesture()
bindViewModel()

viewModel.setupStroredTime()
}

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)

navigationController?.isNavigationBarHidden = false
viewWillAppearRelay.accept(())
}

override func setupView() {
Expand All @@ -73,6 +73,7 @@ final class SetReadyInfoViewController: BaseViewController {

private func bindViewModel() {
let input = SetReadyInfoViewModel.Input(
viewWillAppear: viewWillAppearRelay,
readyHourText: rootView.readyHourTextField.rx.text.orEmpty.asObservable(),
readyMinuteText: rootView.readyMinuteTextField.rx.text.orEmpty.asObservable(),
moveHourText: rootView.moveHourTextField.rx.text.orEmpty.asObservable(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,11 @@ final class SetReadyInfoViewModel {
self.service = service
self.notificationManager = notificationManager
}

func setupStroredTime() {
readyHourRelay.accept(storedReadyHour)
readyMinuteRelay.accept(storedReadyMinute)
moveHourRelay.accept(storedMoveHour)
moveMinuteRelay.accept(storedMoveMinute)
}
}

extension SetReadyInfoViewModel: ViewModelType {
struct Input {
let viewWillAppear: PublishRelay<Void>
let readyHourText: Observable<String>
let readyMinuteText: Observable<String>
let moveHourText: Observable<String>
Expand All @@ -92,6 +86,15 @@ extension SetReadyInfoViewModel: ViewModelType {
}

func transform(input: Input, disposeBag: RxSwift.DisposeBag) -> Output {
input.viewWillAppear
.subscribe(with: self) { owner, _ in
owner.readyHourRelay.accept(owner.storedReadyHour)
owner.readyMinuteRelay.accept(owner.storedReadyMinute)
owner.moveHourRelay.accept(owner.storedMoveHour)
owner.moveMinuteRelay.accept(owner.storedMoveMinute)
}
.disposed(by: disposeBag)

input.readyHourText
.distinctUntilChanged()
.bind(to: readyHourRelay)
Expand Down

0 comments on commit a8aa2dc

Please sign in to comment.