No Description

MessageCoordinator.swift 1.8KB

    // // MessageCoordinator.swift // Paiai_iOS // // Created by FFIB on 2018/12/7. // Copyright © 2018 FFIB. All rights reserved. // import UIKit import RxSwift import PaiaiDataKit class MessageCoordinator: BaseCoordinator<Void> { fileprivate let messageViewController: MessageViewController init(_ viewController: MessageViewController, navigationController: UINavigationController, containerViewController: ContainerViewController) { messageViewController = viewController super.init(navigationController: navigationController, viewController: viewController) } override func start() -> Observable<Void> { messageViewController.viewModel.delegate = self deallocatedDispose.dispose() return Observable.never() } } extension MessageCoordinator { fileprivate func makeMessageListViewContorller(type: MessageType) -> MessageListViewController { let vc = MessageListViewController.instantiate() vc.type = type vc.viewModel = MessageListViewModel(type: type) vc.viewModel.delegate = self /// 已读消息,红点提示显示与否 vc.viewModel.messageReaded.subscribe(onNext: { isReaded in self.messageViewController.viewModel.readedTip.accept(!isReaded) }).disposed(by: disposeBag) return vc } } extension MessageCoordinator: MessageViewModelDelegate { func didSelect(type: MessageType) { let messageListVC = makeMessageListViewContorller(type: type) navigationController.pushViewController(messageListVC) } } extension MessageCoordinator: MessageListViewModelDelegate { func didSelect(item: MessageListItem) { } } extension UIStoryboard { static var message: UIStoryboard { return UIStoryboard(name: "Message", bundle: Bundle(identifier: "com.Paiai-iOS")) } }