[大神原文][1] [蘑菇街李忠][2] 还有爱凑热闹的[weRead][3]
[1]:http://casatwy.com/iOS-Modulization.html
[2]:http://www.cocoachina.com/ios/20160929/17610.html
[3]:http://wereadteam.github.io/2016/03/19/iOS-Component/
需要技术:
cocoapods私有库
runtime
需要处理点:
方法参数解析以及参数错误处理
1.完全组件化后成型样式
1.主工程用私有pod管理
2.每个组件都可以作为单独的app直接运行在手机上.主页面是tableview,显示这个组件的所有功能.
3.每个组件都用pod,通过podspec中连接相关组件代码.
4.主工程里面基本没有代码(没有具体的模块代码),只有逻辑的处理.
5.主工程通过一个podfile去集合所有的一级pod.剩下的二级以及更低级的pod,其实都在各自的pod的podspec里面写好dependency.
6.调试时,绝大多数都是跑到各自的pod的工程下去调.开发时各个组件也是被当成一个新的app去开发的.
7.由于那个tableview的存在,其本质就是一个test case list,因此开发过程中bug也很少,也非常易于测试和定位问题。
有的时候比较复杂的bug复现路径我们也会把它程序化,然后作为tableview里的一项,方便以后测试
2.实现时细节处理
问题1: 模块开发时,组件A依赖于组件B,组件A的podfile如何写?
处理方式:开发时,组件A的的podspec里面的dependency是不写依赖的B组件的(可以写上,但要注释掉,防止最后忘记),
只依赖mediator以及相关category.在项目联调时才在组件A的podfile写上依赖组件B
问题列表
1.各个业务组件模块如何于主控制器通信
问题详细描述:
业务组件需要显示不同的navtabbar, 这个时候tabbar属于
2.图片加载
公用图片放入主项目中
组件模块直接读取主项目图片(常用方法会直接读取)
网友评论