好长时间没有进行更行了,最近学到AFNetworking框架,在学习完成之后做出一个总结
  1.第三方网络的框架

    AFNEtworking使用简单,对最新的iOS特性都有很好的支持,对NSURL进行了封装,把系统中比较复杂的方法,整成了比较简单的

    ASIHTTPRequest(已经停止更新了) 这个框架对CFNetworking网络框架进行封装,性能、可扩展性比较高,但是已经停止了更新,对最新的iOS的兼容性不是很高,所以用的很少

    MKNetworkKit 相对于AF比较轻量级,使用也是相当简单

  2.AFNetworking

    它是对NSURLConnection网络的组件进行了封装,在iOS7以后,AFNetworking对NSURLSession进行了网络组件的封装

    下载地址

    

Github地址,这个是它的下载地址,在下载之前应该看看相关的文档,在如今的开发中cocoapod的使用也多,所以希望能从cocoapod上进行下载

  至于怎么安装cocoapod的安装,网上有很多的相关的教程,可以自己去百度去看看,推荐看看这个http://www.jianshu.com/p/3f6bbe3130cc

 3 AFNetworking相关的类

  NSURLConnection 核心的网络的请求

  NSURLSession 针对iOS7以后的后台任务

  Rechability 用于检测网络装填的变化,可以在不同的网络环境中进行不同的caozuo。

  Serialization 可序列化 {对Request和Response对象封装}

  Security 针对SSLpinning的封装,用于通信的安全

 4 网络相关的下载、上传操作

  AFHTTPSessionManager:用于管理网络请求、下载、上传等物

  

下载文件操作

    

  上传文件操作

  

  在AFHTTPSessionManager,使用mananger类方法创建,不支持后台的下载、上传

  如果需要进行后台的下载可以通过以下的方式进行实现  

  

5.AFHTTPRequestSerializer

  在客户端中,提交给服务器的数据格式主要有:拼接 ,JSON  

  AFHTTPRequestSerializer :&拼装格式

  AFJSONRequestSerializer :JSON数据格式

 他们两个的关系是

  

6AFUELResponseSerialozation  

  服务器返回的数据格式主要有两种JSON和XML

  AF封装了相应的类对返回数据的解析

  AFHTTPResponseSerializer:不解析数据

  AFJSONRESponseSerializer:解析JSON数据格式

  AFXMLParserResponseSerializer: 解析XML数据格式

 三者的关系是

  

7通过AFHTTPSessionManager对象设置请求、返回数据格式

  

AFNetworkingReachabilityManager用于监听网络状态、网络类型

  实现代码如下

8UIKit的网络扩展

  AF为一下类提供了一组Category方法,用于网络的请求

  

  

iOS网络编程总结的更多相关文章

  1. iOS网络编程模型

    iOS网络编程层次结构也分为三层: Cocoa层:NSURL,Bonjour,Game Kit,WebKit Core Foundation层:基于 C 的 CFNetwork 和 CFNetServ ...

  2. IOS网络编程——第三方类库

    IOS网络编程——第三方类库 目录 概述 ASIHttpRequest AFNetworking 其他 概述 ASIHttpRequest AFNetworking 其他

  3. IOS网络编程:HTTP

    IOS网络编程:HTTP HTTP定义了一种在服务器和客户端之间传递数据的途径. URL定义了一种唯一标示资源在网络中位置的途径. REQUESTS 和 RESPONSES: 客户端先建立一个TCP连 ...

  4. iOS网络编程笔记——Socket编程

    一.什么是Socket通信: Socket是网络上的两个程序,通过一个双向的通信连接,实现数据的交换.这个双向连路的一端称为socket.socket通常用来实现客户方和服务方的连接.socket是T ...

  5. 浅谈iOS网络编程之一入门

    计算机网络,基本上可以抽象是端的通信.实际在通讯中会用到不同的设备,不同的硬件中,为了能友好的传输信息,那么建立一套规范就十分必要了.先来了解一些基本概念 了解网络中传输的都是二进制数据流.  2.了 ...

  6. iOS 网络编程:socket

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  7. iOS 网络编程模式总结

    IOS 可以采用三类api 接口进行网络编程,根据抽象层次从低到高分别为socket方式.stream方式.url 方式. 一 .socket 方式 IOS 提供的socket 方式的网络编程接口为C ...

  8. ios网络编程(入门级别)-- 基础知识

    在学习ios的过程中,停留在UI控件很长时间,现在正在逐步的接触当中!!!!!!在这个过程中,小编学到了一些关于网络编程知识,并且有感而发,在此分享一下: 关于网络请求的重要性我想不用多说了吧!!!对 ...

  9. iOS 网络编程(HTTP协议)

    HTTP协议的概念HTTP协议,Hyper Text Transfer Protocol (超文本传输协议)是用于从万维网服务器传送超文本到本地浏览器的传输协议,HTTP是一个应用层协议,由请求和响应 ...

  10. 从socket开始讲IOS网络编程

    home list tags talk user rss Mac&iOS Socket 大纲 一.Socket简介 二.BSD Socket编程准备 1.地址 2.端口 3.网络字节序 4.半 ...

随机推荐

  1. android132 360 05 手机定位

    .网络定位:根据ip地址定位,根据ip地址在实际地址数据库中查询实际地址. 缺点:动态ip导致地址不准确. .基站定位:3个基站就可以确定实际位置,定位范围是几百米到几公里不等. .GPS定位:美国卫 ...

  2. careercup-C和C++ 13.3

    13.3 C++中的虚函数是如何工作的? 解答 虚函数依赖虚函数表进行工作.如果一个类中,有函数被关键词virtual进行修饰, 那么一个虚函数表就会被构建起来保存这个类中虚函数的地址.同时, 编译器 ...

  3. 数字转化成字符串C语言

    #include <stdio.h> void Myitoa(int,char *); int getnumberLength(int); int main(){ ]; ; Myitoa( ...

  4. CentOS 6.x安装gcc 4.8/4.9/5.2

    1.gcc 4.8 cd /etc/yum.repos.d wget http://people.centos.org/tru/devtools-2/devtools-2.repo -gcc -bin ...

  5. javascript优化工具 Doloto

    Doloto是“Download Time Optimizer”的简写.官方页面上说它对于大型复杂的AJAX应用尤其的有用,因为这些应用包含了大量的 JavaScript 代码.简单的说,它的工作原理 ...

  6. MSBuild编译扩展

    新增一个C#工程,用记事本打开工程文件(.csproj结尾),滚动条拉到最后,大家可以看到一段如下的代码,其中<Target Name="BeforeBuild">和& ...

  7. 关于RSS

    RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章.新闻.音频或视频的网摘.RSS文件(或称做摘要.网络摘要.或频更新,提供到频道)包含了全文或是节录的文字,再 ...

  8. msp430f149的低功耗模式

    430的低功耗确实很强啊,虽然和VR单片机比起来速度慢了好多.在CPU进行工作时,如果没有什么事情干,就得进入低功耗模式啦,LMPX(0~4)这几种模式的具体事项就是如下的,得记住了. 一,运行模式M ...

  9. JS HTML标签尺寸距离位置定位计算

    四种浏览器对 clientHeight.offsetHeight.scrollHeight.clientWidth.offsetWidth 和 scrollWidth 的解释差异 网页可见区域宽:do ...

  10. ajax 跨域的几种方式

    网络上跨域的文章大多一样,这里我写下,巩固下自己的知识,顺便做个记录 什么是跨域 这里简单拿百度的网址做个例子:http://www.baidu.com:80 (默认都是80端口.可省略) http ...