MKNetworking浅析

279 查看

MK主体构成

MKNetworkingEngine

MKNetworkingEngine负责管理与主机之间的通信。包含可达性检测,任务队列化,主机名以及缓存操作等等。
Tip: 针对不同的主机通过继承MKNetworkingEngine来使用子类来进行控制为最佳实践

MKNetworkOperation

NSOperation子类,其中封装了请求/响应类。我们可以为我们所有的网络操作创建对应的MKNetworkOperation

MK依赖框架

  • ImageIO.framework
  • Security.framework
  • SystemConfiguration.framework
  • CFNetwork.framework

如何使用MK

创建MKNetworkingKit engine

这里详细叙述下通过继承MKNetworkEngine得到的自定义子类的好处:

  1. 每个MKNetworkEngine对象持有各自的Reachability对象,当与服务器的链接环境发生变化的时候会通知MKNetworkEngine
  2. 每个子类持有自己的一套MKNetworkOperation任务队列。
  3. 可根据服务器需求自定义

创建MKNetworkOperation

通过searchITunesWithParams:创建一个MKNetworkOperation实例,然后就可以通过addCompletionHandler:errorHandler:往里面添加完成句柄、出错句柄。