iOS 組件化漫談

來源:互聯網
上載者:User

標籤:

1.準備工作

   由於工程越來越大,裡面的檔案也越來越多。很多時候merge代碼的時候工程檔案起了衝突之後,若 .xcodeproj檔案衝突 開啟之後很難以修改。

   故想到了模組化程式,於是乎就去網上找資料

   蘑菇街 安居客  Small  (裡面都有demo,安居客的看後之後簡單一點)

  大致差不多就是URL的格式 scheme://host/path?query 

   1.啟動的時候註冊相應的url host為相應的模組名

   2.需要的時候直接使用路由調用url的方法

 

 

2.CTMediator概述(現未產生子工程,所以是以檔案夾的方式代替工程)

   2.1 分為三個部分

        殼工程:整個程式的入口

        主工程:lib庫(網路工具,相簿工具,檔案服務,路由)

        子工程:即模組工程

 

    2.2 CTMediator工作原理

         1. + (instancetype)sharedInstance;

             路由單例對象

         2. - (id)performActionWithUrl:(NSURL *)url completion:(void(^)(NSDictionary *info))completion;

             調用之後可返回一個控制器對象,傳入url的格式如 hgl://message/chat?key=value (message:自模組名,chat:具體要指向的控制器)

         3. - (id)performTarget:(NSString *)targetName action:(NSString *)actionName params:(NSDictionary *)params;

              該方法比方法2更加快捷,可以讓開發人員更加快速的理解   [self performTarget:@"message"   action:@"chat"  params:@{@"key":@"value"}];

         4.所有模組都必須有一個路由接收器(即入口)

              4.1接收器類名 Target_模組名  (Target 也可以換成你喜歡的單詞 定義好之後告訴其他人就行,別人也好按照這個規範來)

              4.2接收器裡面的方法名  - (UIViewController *)Action_xx:(NSDictionary *)param; (xx 代表某個控制器)

iOS 組件化漫談

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.