zoukankan      html  css  js  c++  java
  • 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 参考

  • 相关阅读:
    【模板】Bellman—Fort 单源最短路径算法
    【模板 && 拓扑】 Dijkstra 单源最短路径算法
    字符序列
    装载问题【回溯法】
    工作分配问题【回溯法】
    『模板』 子集生成
    [Codeforces]852A
    [Codeforces]852I
    [UOJ]#36. 【清华集训2014】玛里苟斯
    [Codeforces]848C
  • 原文地址:https://www.cnblogs.com/benpaobadaniu/p/4827653.html
Copyright © 2011-2022 走看看