1、JSON解析 --- 重要
2、异步请求
注:一般不会发送同步请求,由于需要等待服务器返回NSData数据,因此会卡住当前线程
注 1:发送异步请求,会自动另开一个线程,不会卡死主线程
注2:需要使用主队列作为参数,原因:请求返回后会调用block,这个block会存放在队列中,由于需要改变UI界面,因此需要放在主队列中
3、网络通信小结
一、一个HTTP请求的基本要素
1. 请求URL:客户端通过哪个路径找到服务器
2. 请求参数:客户端发送给服务器的数据
* 比如登录时需要发送的用户名和密码
3.返回结果:服务器返回给客户端的数据
* 一般是JSON数据或者XML数据
4、黑酷例子
4.1 实现要求
搭建一个视频列表,数据从服务器上获取
4.2 实现思路
1> Storyboard搭建一个导航控制器,根控制器为TableViewController,新建HMVideosController,关联
2>viewDidLoad加载服务器最新视频信息,并测试
3> 新建HMVideo视频模型,存放每一个视频的信息,添加类方法,KVC创 建模型
4> 利用SDWebImage对Cell图片进行下载
5> 选中某行,播放对应的视频
注:利用系统自带的视频播放控制器即可
6> 将URL抽取成宏,方便以后改服务器IP地址
#defineHMUrl(path) [NSURL URLWithString:[NSString stringWithFormat: @"http://localhost:8080/MJServer/%@",path]]
5、XML解析 --- 重要
5.1 XML基本概念
5.2 GDataXML
1>GDataXML配置
1. 添加动态链接库libxml2.dylib
2. 设置libxml头文件搜索路径
3. 设置链接参数,自动链接libxml库
4. GDataXMLNode为非ARC,编译器单独处理
2> XML解析
5.3 NSXMLParser
6、XML小结
7、POST请求
8、HTTP底层通信
8.1 HTTP请求
8.2 HTTP响应
9、HTTP通信总结
10、请求超时 & URL转码
注:通常在请求的时候添加蒙版,提示正在发送请求,等待,请求完成后隐藏蒙版