diff --git a/Projects/App/Sources/Common/SplashViewModel.swift b/Projects/App/Sources/Common/SplashViewModel.swift index 0228543..fb8c281 100644 --- a/Projects/App/Sources/Common/SplashViewModel.swift +++ b/Projects/App/Sources/Common/SplashViewModel.swift @@ -44,19 +44,11 @@ final class SplashViewModel: SplashViewModelProtocol { } private func changeRootViewController(deadlineData: Int) { - - var isDeadlineDataExist = true - - if deadlineData == 0 { - isDeadlineDataExist = false - } - let rootViewController = MainViewController( MainViewModel( network: Network(), repository: CategoryRepository(CategoryService(network: Network())), - OCRRepository: OCRRepository(OCRService(network: Network())), - deadlineDataExist: isDeadlineDataExist + OCRRepository: OCRRepository(OCRService(network: Network())) )) let navigationController = UINavigationController(rootViewController: rootViewController) diff --git a/Projects/App/Sources/Main/MainCollectionViewDataSource.swift b/Projects/App/Sources/Main/MainCollectionViewDataSource.swift index b166a07..773c14e 100644 --- a/Projects/App/Sources/Main/MainCollectionViewDataSource.swift +++ b/Projects/App/Sources/Main/MainCollectionViewDataSource.swift @@ -24,7 +24,7 @@ final class MainCollectionViewDataSource: NSObject, UICollectionViewDataSource { var didDeadLineCountdownTimeOver = PublishRelay() var selectedCategoryIndexPath: IndexPath? = nil - private let disposeBag = DisposeBag() + private var deadLineDisposeBag = DisposeBag() func numberOfSections(in collectionView: UICollectionView) -> Int { // TODO: 마감임박 데이터 없을 때의 경우 처리 필요 @@ -67,7 +67,7 @@ final class MainCollectionViewDataSource: NSObject, UICollectionViewDataSource { cell.gifticonApplyButtonDelegate = self cell.countdownTimeOver .bind(to: didDeadLineCountdownTimeOver) - .disposed(by: disposeBag) + .disposed(by: deadLineDisposeBag) return cell case .category: guard let cell = collectionView.dequeReusableCell(CategoryCollectionViewCell.self, @@ -112,6 +112,7 @@ final class MainCollectionViewDataSource: NSObject, UICollectionViewDataSource { extension MainCollectionViewDataSource { func updateDeadLineData(_ list: [GifticonCard]) { deadLineData = list + deadLineDisposeBag = DisposeBag() } func updateCategoryData(_ list: [Category]) { diff --git a/Projects/App/Sources/Main/MainViewController.swift b/Projects/App/Sources/Main/MainViewController.swift index a8b59c1..e26f8a2 100644 --- a/Projects/App/Sources/Main/MainViewController.swift +++ b/Projects/App/Sources/Main/MainViewController.swift @@ -144,8 +144,6 @@ final class MainViewController: BaseViewController { mainView.configureDataSource(viewModel.mainDataSource) mainView.configureDelegate(viewModel.mainDelegate) - mainView.isDeadlineDataExist.accept(viewModel.isDeadlineDataExist.value) - view.addSubview(mainView) mainView.snp.makeConstraints { $0.top.equalTo(navigationBar.snp.bottom) diff --git a/Projects/App/Sources/Main/MainViewModel.swift b/Projects/App/Sources/Main/MainViewModel.swift index ad0324b..0d3d7cc 100644 --- a/Projects/App/Sources/Main/MainViewModel.swift +++ b/Projects/App/Sources/Main/MainViewModel.swift @@ -96,17 +96,13 @@ final class MainViewModel: MainViewModelProtocol { init( network: Networking, repository: CategoryRepositoryLogic, - OCRRepository: OCRRepositoryLogic, - deadlineDataExist: Bool + OCRRepository: OCRRepositoryLogic ) { self.gifticonService = GifticonService(network: network) self.categoryRepository = repository self.OCRRepository = OCRRepository - self.isDeadlineDataExist.accept(deadlineDataExist) - deadlineInfo() category() - gifticonList() bind() } diff --git a/Projects/App/Sources/Main/View/MainView.swift b/Projects/App/Sources/Main/View/MainView.swift index bfd95b5..821a153 100644 --- a/Projects/App/Sources/Main/View/MainView.swift +++ b/Projects/App/Sources/Main/View/MainView.swift @@ -34,6 +34,8 @@ final class MainView: BaseView { backgroundColor = .clear isDeadlineDataExist + .skip(1) + .throttle(.milliseconds(500), scheduler: MainScheduler.instance) .subscribe(onNext: { [weak self] _ in self?.reloadCollectionViewSection(.deadLine) })