コンポーネントの最近の研究では、多くの情報を読んで、それは参照を容易にするための小さなパートナーを記録ピットの多くを満たしています。神ではなく、私が最もシンプルな無地の言語で表現されるように偉大な、我々はより多くの友人を知っていることを望む、私は世界平和を願います
コンポーネントベースのコンポーネントベースの個人的な感情の高維持費、主にデカップリングのために、しかし、良い基盤
まず、アイデアの具現化の同じ構成要素の下のプロジェクトは、主に使用されるミドルウェアCTMediatorは、(例えば、多くのコントローラとの間の直接プッシュジャンプとして、通信のブリッジとしてそれを解釈し、その後のCTMediatorプッシュスルーCTMediatorであるミドルウェアを使用)
二つのコントローラを実現するために移動:
1. CTMediatorプロジェクトのインポートファイルは、もちろん、「CTMediator」ポッドポッド内に導入すること
目的は、第三のステップCTMediator + CTMediatorManagerクラスパラメータの方法を提供する製造方法を記述するためにターゲットコントローラにジャンプすることである:2.ジャンプ先のファイルを書きます
注意:Target_TotalTargetVCのターゲット:オブジェクト名のプレフィックスが固定されており、
Action_nativeDetailMainViewController Action_メソッド名の接頭辞は、コード可視理由CTMediatorを参照して、固定されています。
Target_TotalTargetVC.hコード
#import <財団/ Foundation.h> NS_ASSUME_NONNULL_BEGIN @interface Target_TotalTargetVC:NSObjectの - (のUIViewController *)Action_nativeDetailMainViewController:(NSDictionaryの*)のparams ; @end NS_ASSUME_NONNULL_END
Target_TotalTargetVC.m
#importを " Target_TotalTargetVC.h " の#import " MainViewController.h " @implementation Target_TotalTargetVC - (のUIViewController *)Action_nativeDetailMainViewController:(NSDictionaryの*)paramsは { MainViewController * VC = [[MainViewController ALLOC] INIT]。 VC.dic =ののparams ; 返すVCを。 } @end
3.書き込みCTMediator分類CTMediator + CTMediatorManager
この分類の目的:呼び出し方法によってミドルウェアCTMediatorは、パラメータは方法Target_TotalTargetVCオブジェクトから導出され、その結果、ジャンプコントローラのUIViewController返さ
CTMediator + CTMediatorManager.h
#importを " CTMediator.h " NS_ASSUME_NONNULL_BEGIN @interface CTMediator(CTMediatorManager) - (のUIViewController *)CTMediator_viewMainViewController:(NSDictionaryの*)のparams ; @end NS_ASSUME_NONNULL_END
CTMediator + CTMediatorManager.m
#importを " CTMediator + CTMediatorManager.h " // 这里指的是Target_TotalTargetVC.h对象 NSStringの* constの kCTMediatorTotalTargetObject = @ " TotalTargetVC " 。 // 这指的是Target_TotalTargetVC.m中Action_nativeDetailMainViewControllerf方法 NSStringの* constの kCTMediatorActionNativeDetailMainViewController = @ " nativeDetailMainViewController " 。 @implementation CTMediator(CTMediatorManager) - (のUIViewController *)CTMediator_viewMainViewController:(NSDictionaryの*)のparams { //CTMediator_viewMainViewControllerがCTMediator延長されるので、この方法のCTMediatorとして使用することができる のUIViewController *のViewController = [:kCTMediatorTotalTargetObject自己performTarget 処置:kCTMediatorActionNativeDetailMainViewController のparams:paramsは]; IF([のViewControllerザisKindOfClass:のUIViewControllerのクラスは]]){ 戻りのViewControllerを; } 他{ // ここに例外処理のシナリオ、特定の製品の取り扱い方によって リターン[[のUIViewControllerのalloc]のinit]; } } @end
4.あなたがそれに書かれてジャンプする必要がある最後のステップ、
#pragmaマーク-跳转 - (ボイド)toMainViewController:(BOOL)isAnimate { のUIViewController * VC = [[CTMediator sharedInstance] CTMediator_viewMainViewController:{@ "@ キー":" @ CTMetor传值你好" }]。 [self.navigationController pushViewController:VCアニメーション:isAnimate]。 }
ここで唯一異なるプロジェクト間をジャンプして次の記事に、同じプロジェクトのミドルウェアを書きます。