//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄
2.网络连接方法介绍
================================================================================
1>NSURL
//要访问的资源路径,NSURL封装了内部方法,可以方便访问URL使用的协议,主机,路径以及参数等信息
NSURL *url = [NSURL URLWithString:@"http://localhost/videos.josn"];
2>请求
3>异步方法-所有网络操作都要使用异步方法
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
//提示,一定注意要检测返回的数据是否为null
if(connectionError !=nil|| data ==nil) {
NSLog(@"%@", connectionError.description);
return;
}
NSLog(@"%@", data);
}];
4>同步方法
NSURLResponse *response =nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:NULL];
NSLog(@"%@ %@", data, response);
NULL空地址,0
nil地址指向NULL的空对象
3.JSON数据解析
================================================================================
1>序列化&反序列化概念介绍
2>JSON反序列化
idresult = [NSJSONSerialization JSONObjectWithData:data options:0error:NULL];
3>Log分类简单介绍
4>与归档的对比
知识点回顾:归档
- (void)encodeWithCoder:(NSCoder *)encoder
- (instancetype)initWithCoder:(NSCoder *)decoder
4.JSONKit(知道就行)
================================================================================
参见03-JSONKit笔记
5.PList反序列化
================================================================================
idresult = [NSPropertyListSerialization propertyListWithData:data options:0format:NULLerror:NULL];
6.XML反序列化
================================================================================
1>基本概念
XML可扩展标记语言,XML的格式与HTML类似,也是以<标记>标记>格式展现,我们熟悉的Plist就是一种特殊格式的XML
*XML是专门设计用来表示数据的
*HTML是专门设计用来展现页面的
2>解析原理简介
3>XMLParser的代理方法
#pragma mark - XML解析方法
// 1.开始解析
- (void)parserDidStartDocument:(NSXMLParser *)parser
{
NSLog(@"开始解析");
}
// 2.开始节点
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
NSLog(@"开始节点:%@ %@", elementName, attributeDict);
}
// 3.发现文字,需要做拼接处理
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
NSLog(@"发现文字%@", string);
}
// 4.结束节点
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
NSLog(@"结束节点:%@", elementName);
}
// 5.结束文档
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
NSLog(@"结束解析");
}
// 6.解析错误
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError
{
NSLog(@"解析错误");
}
4>使用GDataXML-HTML框架实现文档解析
https://github.com/graetzer/GDataXML-HTML
#每一对<标记>标记>都可以看成一个GDataXMLElement
#使用- (NSArray *)attributes;可以获得属性字典数组
属性数组中保存的对象同样是GDataXMLElement
#通过- (NSString *)name;可以获得节点名称
#通过- (NSString *)stringValue;可以获得节点字符串内容