Skip to content

Commit 02dfc65

Browse files
author
Oleh
committed
Changed route from optional to initial enum
1 parent 14a9195 commit 02dfc65

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

ExampleMVVM/Presentation/MoviesScene/MoviesList/View/MoviesListViewController.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,9 @@ extension MoviesListViewController {
168168
// MARK: - Handle Routing
169169

170170
extension MoviesListViewController {
171-
func handle(_ route: MoviesListViewModelRoute?) {
172-
guard let route = route else { return }
171+
func handle(_ route: MoviesListViewModelRoute) {
173172
switch route {
173+
case .initial: break
174174
case .showMovieDetail(let title, let overview, let posterPlaceholderImage, let posterPath):
175175
let vc = moviesListViewControllersFactory.makeMoviesDetailsViewController(title: title,
176176
overview: overview,

ExampleMVVM/Presentation/MoviesScene/MoviesList/ViewModel/MoviesListViewModel.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import Foundation
99

1010
enum MoviesListViewModelRoute {
11+
case initial
1112
case showMovieDetail(title: String, overview: String, posterPlaceholderImage: Data?, posterPath: String?)
1213
case showMovieQueriesSuggestions
1314
case closeMovieQueriesSuggestions
@@ -30,7 +31,7 @@ protocol MoviesListViewModelInput: MoviesQueryListViewModelDelegate {
3031
}
3132

3233
protocol MoviesListViewModelOutput {
33-
var route: Observable<MoviesListViewModelRoute?> { get }
34+
var route: Observable<MoviesListViewModelRoute> { get }
3435
var items: Observable<[MoviesListItemViewModel]> { get }
3536
var isEmpty: Bool { get }
3637
var loadingType: Observable<MoviesListViewModelLoading> { get }
@@ -60,7 +61,7 @@ final class DefaultMoviesListViewModel: MoviesListViewModel {
6061
private var moviesLoadTask: Cancellable? { willSet { moviesLoadTask?.cancel() } }
6162

6263
// MARK: - OUTPUT
63-
private(set) var route: Observable<MoviesListViewModelRoute?> = Observable(nil)
64+
private(set) var route: Observable<MoviesListViewModelRoute> = Observable(.initial)
6465
private(set) var items: Observable<[MoviesListItemViewModel]> = Observable([MoviesListItemViewModel]())
6566
var isEmpty: Bool { return items.value.isEmpty }
6667
private(set) var loadingType: Observable<MoviesListViewModelLoading> = Observable(.none) { didSet { isLoading.value = loadingType.value != .none } }

0 commit comments

Comments
 (0)