Aucune description

PhotoDetailCoordinator.swift 1.8KB

    // // PhotoDetailCoordinator.swift // Paiai_iOS // // Created by FFIB on 2018/12/19. // Copyright © 2018 FFIB. All rights reserved. // import UIKit import RxSwift import PaiaiDataKit final class PhotoDetailCoordinator: BaseCoordinator<Void> { let photoDetailViewController: PhotoDetailViewController let shareViewModel: PhotoDetailViewModel init(_ viewController: PhotoDetailViewController, nav: UINavigationController, viewModel: PhotoDetailViewModel) { self.photoDetailViewController = viewController self.shareViewModel = viewModel photoDetailViewController.viewModel = viewModel super.init(navigationController: nav, viewController: viewController) } override func start() -> Observable<Void> { photoDetailViewController.viewModel.delegate = self return didCancel } } extension PhotoDetailCoordinator: PhotoDetailViewModelDelegate { func navigateToGroup(_ item: GroupItem, photoItems: [PhotoItem]) { let vc = GroupViewController.instantiate() vc.viewModel = GroupViewModel(groupItem: item, items: photoItems) let coordinator = GroupCoordinator(vc, navigationController: navigationController, navigationSource: .photoDetail) coordinate(to: coordinator).subscribe().disposed(by: disposeBag) navigationController.pushViewController(vc) } func didSelected() { let vc = PhotoPreviewViewController.instantiate() vc.viewModel = shareViewModel photoDetailViewController.presentController(vc) } } extension UIStoryboard { static var photoDetail: UIStoryboard { return UIStoryboard(name: "PhotoDetail", bundle: Bundle(identifier: "com.Paiai-iOS")) } }