No Description

GroupDetailCoordinator.swift 1.8KB

    // // GroupDetailCoordinator.swift // Paiai_iOS // // Created by ffib on 2018/12/19. // Copyright © 2018 yb. All rights reserved. // import UIKit import PaiaiDataKit class GroupDetailCoordinator: Coordinator { let navigationController: UINavigationController let groupDetailViewController: GroupDetailViewController init(_ groupDetailVC: GroupDetailViewController, navigationController: UINavigationController) { self.groupDetailViewController = groupDetailVC self.navigationController = navigationController groupDetailViewController.viewModel.delegate = self } } extension GroupDetailCoordinator: GroupDetailViewModelDelegate { func navigateToRootViewController() { navigationController.popToRootViewController(animated: true) } func navigateToGroupMember(_ item: GroupDetailItem) { navigationController.pushViewController(makeGroupMemberViewController(item)) } func navigateToGroupNameModification(_ item: GroupDetailItem) { navigationController.pushViewController(makeGroupNameModificationViewController(item)) } } extension GroupDetailCoordinator { func makeGroupMemberViewController(_ item: GroupDetailItem) -> GroupMemberViewController { let vc = UIStoryboard.groupDetail.instantiateController(GroupMemberViewController.self) vc.viewModel = GroupMemberViewModel(item: item) return vc } func makeGroupNameModificationViewController(_ item: GroupDetailItem) -> GroupNameModificationViewController { let vc = UIStoryboard.groupDetail.instantiateController(GroupNameModificationViewController.self) vc.item = item return vc } } extension UIStoryboard { static var groupDetail: UIStoryboard { return UIStoryboard(name: "GroupDetail", bundle: Bundle(identifier: "com.Paiai-iOS")) } }