UI:数据的解析

在懒加载的时候要注意事项:

必须使用 self.XX 的样式去开辟空间,不能使用 _XX 的格式去开辟,因为前者是内部的 set 方法,而后者并不走内部的 set 方法。

json 文件的创建  xml 文件的创建。

 XML 是一种标签语言(数据结构比较简单) 解析的两种原理

  1.SAX 解析 : 基于事件的回调的解析机制,(主要区别于 DOM 解析)一行一行的解析 (缺点:效率低),适合大数据解析。系统提供好的类 NSXMLParser

 2.DOM 解析 : 把解析数据全部读入内存,初始化为树形结构,然后再进行逐层的分析,相对于 SAX 解析,效率高,不适合大数据的读取。一般都是采用谷歌提供的第三方类 GDataXMLNode

 所谓“解析”:从事先规定好的格式中提取数据

 解析的前提:提前约定好格式、数据提供⽅方按照格式提供数据、 数据获取⽅方则按照格式获取数据

SAX 解析数据的步骤:

1.获取数据 :   NSString * filePath= [NSBundle mainBundle]pathForResouce:@"文件名" ofType:@"文件类型"];

2.创建解析对象:NSData * data =  [NSData dataWithContentsOfFile:filePath];     NSXMLParser  * paser =[ [NSXMLParser alllock]initWithData:data];

3.设置回调代理,视图控制器对象: paser.delegate =self;

4.在 NSXMLParserDelegate 协议中有4 个方法能够配合我们很好的获取数据

//开始读取标签的方法

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{}

//当读到一个结束标签的时候

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{}

//当读到解析内容的时候

-(void)parser:(NSXMLParsaer *)parser foundCharacters:(NSString *)string{} 

//当解析完成的时候

-(void)parserDidEndDocument:(NSXMLParser *)parser{}

注意在写 xml 文件的时候,一定要把所有的注释都清理掉 在属性的标签里也不能写 @ 号

在使用 Dom 解析数据的时候,要注意使用,谷歌开发的第三方辅助类

参考

json 参考

posted @ 2015-09-21 23:19  ywda  阅读(218)  评论(0编辑  收藏  举报