diff --git a/Falling/Sources/Feature/Main/MainViewController.swift b/Falling/Sources/Feature/Main/MainViewController.swift index 9a950227..961e625e 100644 --- a/Falling/Sources/Feature/Main/MainViewController.swift +++ b/Falling/Sources/Feature/Main/MainViewController.swift @@ -10,7 +10,6 @@ import UIKit import RxSwift import RxCocoa import RxDataSources -import SwiftUI final class MainViewController: TFBaseViewController { @@ -113,9 +112,17 @@ extension Reactive where Base: MainViewController { return ControlEvent(events: source) } } +#if DEBUG +import SwiftUI struct MainViewControllerPreView: PreviewProvider { static var previews: some View { - MainViewController(viewModel: MainViewModel(navigator: MainNavigator(controller: UINavigationController()))).toPreView() + let navigator = MainNavigator(controller: UINavigationController()) + + let viewModel = MainViewModel(navigator: navigator) + + return MainViewController(viewModel: viewModel) + .toPreView() } } +#endif diff --git a/Falling/Sources/Feature/Main/MainViewModel.swift b/Falling/Sources/Feature/Main/MainViewModel.swift index b61423f3..f1343bfb 100644 --- a/Falling/Sources/Feature/Main/MainViewModel.swift +++ b/Falling/Sources/Feature/Main/MainViewModel.swift @@ -4,6 +4,7 @@ // // Created by SeungMin on 2023/08/15. // +import Foundation import RxSwift import RxCocoa @@ -40,16 +41,12 @@ final class MainViewModel: ViewModelType { UserDTO(userIdx: 2), ])] - let userList = Observable.just(userSectionList).asDriver(onErrorJustReturn: []) - - let currentPage = currentIndex.map{ $0 }.asDriver(onErrorJustReturn: 0) - - timeOverTrigger.do(onNext: { - do { - currentIndex.onNext(try currentIndex.value() + 1) - } catch { } - }).drive() - .disposed(by: disposeBag) + let userList = Driver.just(userSectionList) + + let currentPage = timeOverTrigger.withLatestFrom(currentIndex.asDriver(onErrorJustReturn: 0)) { _, page in + currentIndex.onNext(page + 1) + return page + 1 + }.startWith(0) return Output( userList: userList,