Nessuna descrizione

PhotoDetailCoordinator.swift 2.0KB

    // // PhotoDetailCoordinator.swift // Paiai_iOS // // Created by ffib on 2018/12/19. // Copyright © 2018 yb. All rights reserved. // import Foundation import PaiaiDataKit final class PhotoDetailCoordinator: Coordinator { let navigationController: UINavigationController let photoDetailViewController: PhotoDetailViewController let shareListViewModel: PhotoDetailListViewModel fileprivate var coordinators = [CoordinatorKey: Coordinator]() init(_ photoDetailVC: PhotoDetailViewController, nav: UINavigationController, viewModel: PhotoDetailViewModel, listViewModel: PhotoDetailListViewModel) { photoDetailViewController = photoDetailVC shareListViewModel = listViewModel navigationController = nav photoDetailViewController.listViewModel = shareListViewModel photoDetailViewController.viewModel = viewModel viewModel.delegate = self shareListViewModel.synchronization = viewModel shareListViewModel.delegate = self } func start() { } } extension PhotoDetailCoordinator: PhotoDetailViewModelDelegate { func navigateToGroup(_ item: GroupItem) { let vc = GroupViewController.instantiate() vc.viewModel = GroupViewModel(groupItem: item) let coordinator = GroupCoordinator(vc, navigationController: navigationController) coordinators[.group] = coordinator navigationController.pushViewController(vc) } } extension PhotoDetailCoordinator: PhotoDetailListViewModelDelegate { func didSelected() { let vc = UIStoryboard.photoDetail.instantiateController(PhotoPreviewViewController.self) vc.viewModel = shareListViewModel navigationController.pushViewController(vc, animated: true) } } extension UIStoryboard { static var photoDetail: UIStoryboard { return UIStoryboard(name: "PhotoDetail", bundle: Bundle(identifier: "com.Paiai-iOS")) } }