模块化之解耦页面跳转

为了提高代码复用性和尽可能的缩短开发周期,让不同的开发人员专注与独立功能,对其进行模块化,就显得势在必行.我们的App现在就朝着模块化的方向努力.现在 记录一下实践之路.
首先参照了GitHub上的开源项目:
https://github.com/wujunyang/jiaModuleDemo
以及豆瓣模块化的开源项目:
http://www.cocoachina.com/ios/20161103/17939.html
两者实现思路,都是基于路由的跳转方式:用路由字符串进行处理,用NSClassFromString创建类型,找到当前控制器实现跳转.
为了便于对代码的控制和后期的深度扩展,结合以上实现思想,打算自己动手实现.
模块化的实现,需要一步步深入.自己首先对两个页面间的跳转,实现解耦.实现方式如下:
通过ZDChangeVC类对跳转方法进行统一管理,以字符串的形式,传入需要跳转的控制器名称,以字典的方式,传入需要传递的参数。将所有需要跳转的控制器继承至ZDBaseViewController,可以添加控制器的统一创建方法initWithDict:,记录传入的字典。
新建plist文件,以字典的方式,新建路径和不同控制器的名称一一对应,方便对控制器名称的检查和管理。在appdelegate的回调方法中注册plist文件,用于后期跳转。
以下是GitHub的Demo地址:
https://github.com/zhudong10/Module_ChangeVC.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,869评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,084评论 25 708
  • 原文链接:https://github.com/halfrost/Halfrost-Field/blob/mast...
    hament阅读 5,702评论 1 31
  • 前言 随着用户的需求越来越多,对App的用户体验也变的要求越来越高。为了更好的应对各种需求,开发人员从软件工程的角...
    一缕殇流化隐半边冰霜阅读 87,423评论 214 1,098
  • 最近也不知道是怎么了,根本静不下来。在家宅着,好多次都跟神经病一样在屋里吼叫。干什么都没劲,晚上又睡不着。我妈说是...
    乐此不疲宝里宝气阅读 1,475评论 0 0