前言
ReactiveCocoa相信大家一定不会陌生,针对于MVVM架构而已,简直是如虎添翼,用过的人自然会明白有多实用,好了不闲扯了,接下来直接看看我重构的代码
正文
封装的大体架构目录如下:

大致讲解一下具体的作用:
M7NetWorkApi:网络请求,返回信号,和请求需要的基本参数
M7NetWorkApi+M7Parser:解析器,使用Mantle进行处理网络返回的数据(暂时只做了字典和数组的解析)
M7NetWorkApi+M7NetRequest:网络请求的分类,实现具体的网络请求
M7AFHTTPSessionManager:我使用的AFNetWorking进行的网络请求,这个是 AFHTTPSessionManager的子类
M7NetWorkManager:网络请求的工具类(外部调用的接口)
如何调用:
这是一个链式编程,通过传入Class来直接转化为模型
其中NetWorkAPI是一个C语言的函数
extern M7NetWorkManager *NetWorkAPI(NSString *urlString);// 声明写在.h
M7NetWorkManager *NetWorkAPI(NSString *urlString){ M7NetWorkManager *manager = [M7NetWorkManager new]; manager.api.urlString = urlString; return manager; }//实现写在.m

需要注意的是:
1.关于baseUrl
设置baseUrl

2.关于参数:
关于是否需要参数


关于设置必须的参数

代码地址:代码地址
如果有什么不够完善的地方,希望提出修改,谢谢.
网友评论