iOS NSURL 同步&异步&参数&解析等信息

//联系人:石虎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;可以获得节点字符串内容

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在网络开发中,从服务器获取的二进制数据包括: > html > 图片 > 视频 > 音频 > zip 等 除了以上...
    方圆十里不留母狗阅读 4,153评论 0 0
  • 在网络开发中,从服务器获取的二进制数据包括: > html >图片 >视频 >音频 > zip等 除了以上文件格式...
    小番茄阳阳阅读 4,123评论 0 0
  • 解析的概念 解析:从事先规定好的格式中提取数据。 解析的前提:提前约定好格式,数据提供方按照格式提供数据,数据获取...
    逗逗豆豆笑阅读 4,840评论 2 14
  • JSON JSON和XML都是需要解析的 JSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据...
    JonesCxy阅读 5,875评论 2 10
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 9,177评论 2 7