微信开源网路库mars使用流程分析:

1 篇文章 0 订阅

分析了微信的mars demo https://github.com/Tencent/mars/tree/master/samples/iOS/iOSDemo/iOSDemo

mars短链接使用总结:

1. UIViewController使用mars接口收发包,实现UINotifyDelegate协议,交给NetworkEvent管理,作为事件的代理,获取回调

要使用mars的接口,只需要创建一个CGITask,调用NetworkService的 startTask接口就可以了

2. 调用了接口,还想需要 实现3个接口,才能作为代理,获得回包处理的回调

1)组包接口requestSendData

2)回包回调处理接口onPostDecode

3)onTaskEnd接口 处理任务结束需要做的刷新和存储

 

3. NetworkEvent作为NetworkService的代理,发包和收包是由NetworkService完成的

NetworkEvent作为代理通知到调用方,NetworkEvent可以自己实现和增强功能

4. 有三种delegate

1)NetworkDelegate 处理网络发包和回包的回调 由NetworkEvent实现

2)UINotifyDelegate 处理UI 需要 的回调 由自己的UIViewController实现

3)PushNotifyDelegate 处理服务器主动的push的回调 由自己的UIViewController实现 (startTask没有选项加入PushObserver的设置,

这块是在哪里加入的呢?我还没有研究到)

一个ViewController或者View可以同时实现UINotifyDelegate,PushNotifyDelagate。NetworkDelegate是由NetworkEvent实现的,

我们可以实现自己的NetworkEvent。

5. NetworkService实现了NetworkStatusDelegate协议,因此她可以接受到底层网络状态的通知,NetworkService的代理是NetworkEvent

因此网络数据的处理是由NetworkService和NetworkEvent来实现的,网络数据的事件分发是交给NetworkEvent。我们的UI,ViewController

都交给NetworkEvent进行管理

 

更多认知,感悟,成长干货,技术分享,请关注我的公众号「成为很厉害的人」。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值