整体结构大体划分:业务、应用配置、第三方库、工具类、资源文件、基类。
1、业务
业务的实现使用MVVM设计思想,将业务逻辑和View从ViewController中抽离出来,使逻辑更清晰、复用性更强。 1.1、DataSource 数据源:从服务器获取/缓存数据 1.2、Model 模型:根据DataSource返回数据抽象为模型,需对关键字段进行注释 1.3、ViewModel 视图模型层:1、将业务数据转化为View所需数据格式 2、接收View输入数据 3、处理业务逻辑,并将处理结果给出回调(block或者代理) 1.4、View 视图:进行视图的展示,不掺杂任何业务 1.5、ViewController 视图控制器:View的容器类, 1、处理View给出的回调并传递给ViewModel,将ViewModel的反馈传递给View 2、处理页面逻辑跳转
2、应用配置
主要用来做一些应用的整体配置,如应用更新、推送处理、BUG修复、首页逻辑处理、服务器环境配置、全局宏定义等
3、第三方库
此模块主要用来放一些SDK的东西,如AFN、MJ等第三方类库使用CocoaPods管理
4、工具类
此模块包括一些类扩展(category),封装类方法,别的地方扒来的工具方法
5、资源文件
包括字符串文件、图片等资源文件
6、基类
包括视图控制器(UIViewController)基类、DataSource基类、导航控制器基类、webView基类等