iOS网络编程总结
好长时间没有进行更行了,最近学到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网络编程总结的更多相关文章
- iOS网络编程模型
iOS网络编程层次结构也分为三层: Cocoa层:NSURL,Bonjour,Game Kit,WebKit Core Foundation层:基于 C 的 CFNetwork 和 CFNetServ ...
- IOS网络编程——第三方类库
IOS网络编程——第三方类库 目录 概述 ASIHttpRequest AFNetworking 其他 概述 ASIHttpRequest AFNetworking 其他
- IOS网络编程:HTTP
IOS网络编程:HTTP HTTP定义了一种在服务器和客户端之间传递数据的途径. URL定义了一种唯一标示资源在网络中位置的途径. REQUESTS 和 RESPONSES: 客户端先建立一个TCP连 ...
- iOS网络编程笔记——Socket编程
一.什么是Socket通信: Socket是网络上的两个程序,通过一个双向的通信连接,实现数据的交换.这个双向连路的一端称为socket.socket通常用来实现客户方和服务方的连接.socket是T ...
- 浅谈iOS网络编程之一入门
计算机网络,基本上可以抽象是端的通信.实际在通讯中会用到不同的设备,不同的硬件中,为了能友好的传输信息,那么建立一套规范就十分必要了.先来了解一些基本概念 了解网络中传输的都是二进制数据流. 2.了 ...
- iOS 网络编程:socket
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- iOS 网络编程模式总结
IOS 可以采用三类api 接口进行网络编程,根据抽象层次从低到高分别为socket方式.stream方式.url 方式. 一 .socket 方式 IOS 提供的socket 方式的网络编程接口为C ...
- ios网络编程(入门级别)-- 基础知识
在学习ios的过程中,停留在UI控件很长时间,现在正在逐步的接触当中!!!!!!在这个过程中,小编学到了一些关于网络编程知识,并且有感而发,在此分享一下: 关于网络请求的重要性我想不用多说了吧!!!对 ...
- iOS 网络编程(HTTP协议)
HTTP协议的概念HTTP协议,Hyper Text Transfer Protocol (超文本传输协议)是用于从万维网服务器传送超文本到本地浏览器的传输协议,HTTP是一个应用层协议,由请求和响应 ...
- 从socket开始讲IOS网络编程
home list tags talk user rss Mac&iOS Socket 大纲 一.Socket简介 二.BSD Socket编程准备 1.地址 2.端口 3.网络字节序 4.半 ...
随机推荐
- Docker intercontainer 网络解释
https://segmentfault.com/a/1190000000669312
- 垃圾回收算法手册:自动内存管理的艺术 BOOK
垃圾回收算法手册:自动内存管理的艺术 2016-03-18 华章计算机 内容简介 PROSPECTUS 本书是自动内存管理领域的里程碑作品,汇集了这个领域里经过50多年的研究沉积下来的最佳实践,包含当 ...
- javascript中的一些偏门知识
undefined能够被重写 undefined = "now it's defined"; alert( undefined ); 浏览器测试结果: 浏览器 测试结果 结论 ie ...
- jqgrid 的编辑信息提示
在编辑时,无外乎两种结果:成功和失败.在form edit的弹出编辑窗体中隐藏了两个单元(td),一个的ID是FormError,另一个没有id,有class叫做topinfo.就是这两个家伙可以分别 ...
- 使用RecyclerView实现瀑布流的效果
主函数: public class MainActivity extends AppCompatActivity { private RecyclerView recyclerView; privat ...
- Tomcat服务器启动常见问题
参考:http://www.cnblogs.com/xdp-gacl/p/3729033.html 学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏 ...
- [转]Oracle开发专题之:%TYPE 和 %ROWTYPE
本文转自:http://www.cnblogs.com/kingjiong/archive/2009/02/19/1393837.html 1. 使用%TYPE 在许多情况下,PL/SQL变量可以用来 ...
- js父窗口opener与parent
parent表示父窗口,比如一个A页面利用iframe或frame调用B页面,那么A页面所在窗口就是B页面的parent.在JS 中,window.opener只是对弹出窗口的母窗口的一个引用.比如: ...
- git svn 简易同时使用
这个方法适合于新的一个git 仓库.假如你使用的git 是最新版本,git本身提供了 git svn命令. 1. 进入一个空的目录,初始化一个空的git仓库: git svn init svn://x ...
- 【转】SharePoint工作流中常用的方法
SharePoint中使用工作流对象模型. SharePoint工作流对象模型在Microsoft.SharePoint.Workflow命名空间.你可以利用此对象模型对你的工作流进行编程.你可以启动 ...