From 2305ef003797b9f0c59c402499b4b3f693392b06 Mon Sep 17 00:00:00 2001 From: kangho lee Date: Sun, 8 Oct 2023 12:15:45 +0900 Subject: [PATCH] =?UTF-8?q?Refactor:=20preview=20=EB=B6=80=EB=B6=84=20?= =?UTF-8?q?=EB=94=94=EB=B2=84=EA=B7=B8=EC=97=90=20=EC=B6=94=EA=B0=80,=20ti?= =?UTF-8?q?meOver=20initial=20=EB=B6=80=EB=B6=84=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Feature/Main/MainViewController.swift | 11 +++++++++-- .../Sources/Feature/Main/MainViewModel.swift | 17 +++++++---------- 2 files changed, 16 insertions(+), 12 deletions(-) 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,