OC之文件和网络及解析(笔记)

本文介绍了Objective-C中文件和网络的基础知识,包括文件管理和网络请求的不同方式,以及数据解析技术如XML和JSON。
OC之文件和网络及解析
文件:
储存在本地的图片,音频、视频等内容。是数据在储存介质上的存储形式。.jpg   .txt   .mp3   .mp4   .c  .m   .xml等等(后缀)只有windows上有。

目录:
即文件夹;
文件的储存形式。
NSData类   字节数据缓冲类:主要用于网络传输数据的缓冲存储
二进制数据: 图片、声音、视频以及网络上传送的数据流。

NSStream类  文件流 : 
 常用语文件操作;
有两个子类:
NSInputStream 输入流,读取文件内容
NSOutputStream输出流,写入文件内容

NSFileManager类    文件管理类
可以对文件、目录进行。
创建create;删除remove;移动move;查询目录。

NSURL;
NSURLRequest;
NSURLConnection;
NSURLResponse;
NSError;
前两步同步和异步是一样的。
异步在后面的话 ViewController中写上
的代理协议
然后调用三种异步请求connection代理方法;

NSBundle 类   对应沙盒文件里的.app文件目录(打包好的数据流)app文件是只读文件,不能修改、移动、删除。
沙盒    文件的目录是完全随机数,保证其他用户访问不到。
苹果电脑桌面上安装第三方软件没有快捷方式(除非用户操作),它认为它只针对自身负责,不允许该软件访问别人。

优点:不会中病毒,木马;缺点:不能随意访问别人,有很大的局限性。

编程时:
源码存储,项目源目录
二进制可执行文件  放置在bundle,

UIImageView 图像视图,相当于相框,用于展示图像

网络:储存在远程服务器上的文件。
访问储存硬件介质上的资源,一种是本地(文件),一种是远程(网络)。

网络请求方式
HTTP请求方式:
GET请求;
POST请求。
两种方式的区别:
GET通常用于请求URL并得到资源;(有大小限制,不可以超过255字符); 发送不敏感的信息给服务器
POST用于向服务器添加新的内容。(无大小限制,可以超过255字符);数据安全,发送一些敏感信息给服务器;

网络连接方式
URL链接方式;
     同步连接:协同一致,上一件事情是下一件事情的前提。
     异步联接。 上一件事情不是下一件事情的执行基础,可以同时进行。

两种方式的主要区别:
     同步连接时,UI“冻结”;请求小量数据的时候。
     异步连接时,UI不冻结。异步的东西都是复杂的,

同步连接
     同步连接是IOS中网络连接的一种方式,当请求的数据量小时,同步连接是一个很好的选择。
     UI“冻结”是它的一个缺点。
GET和POST两种请求都可以发起同步连接。

GET同步连接
从URL初始化数据
NSString/NSData/NSArray/UIImage等类都有从URL初始化数据的方法,这个方法便是系统封装好的GET请求的同步连接方式。
1、创建URL对象;
2、创建请求对象;
3、创建网络连接。

异步连接
    异步连接是IOS最常用的一种网络连接方式。
    适应传输数据量大(像图片)。
    用户体验好,就是UI不冻结。

GET异步连接
NSURLRequest对象
1、创建URL对象;
2、创建一个请求;
3、发起异步连接;

数据解析
    1、解析是从繁杂的数据中筛选出自己需要的数据;
    2、我们要分析的数据一般是提前规定好的;
    3、解析分为XML解析、JSON解析等。

XML文件
XML(Extensible Markup Language) 即可扩展标记语言
    简单的数据存储语言;
    文本文件,编写简单;
    结构清晰,各种语言都提供了对XML的解析支持
    它主要用于数据存储。

语法:
    标签是成对的,使用对称标签描述内容;
    每对标签称为一个节点;
    标签区分大小写。
如: 唐sir

注意:
    XML应该有一个根节点;结束标签为“</>”
用途:
存储数据;网络传输;应用配置等

例子:

<Students><!--根节点-->

    <Student><!--子节点-->

        <Name>唐sir</Name><!--学员姓名-->

        <Age>20</Age><!--学员年龄-->

        <Address>东土大唐</Address><!--学员地址-->

    </Student>

    <Student>

        <Name>老孙</Name>

        <Age>1000</Age>

        <Address>花果山</Address>

    </Student>

</Students>

XML解析:从XML格式中抽取这些信息的过程我们称为XML解析。
XML解析工具:
1、GDataXMLNode是google为iOS开发提供的XML解析工具;
2、你需要加入GDataXMLNode.h以及GDataXMLNode.m文件。这两个文件内包含了3个类GDataXMLNode、GDataXMLElement、GDataXMLDocument
3、使用此工具的时候需要引入libxml2.dylib框架并且需要在header search path中添加一个路径

JSON解析
     JSON是另外一种数据格式组织形式。
规则:大括号代表字典,中括号(或小括号)代表数组。冒号左右两边分别为键和值。数据与数据之间用逗号分隔。
  • [{"name":"kallen","age":"26","sex":"男"},{'"name":"alex","age":"24","sex":"男"}]

JSON解析工具

  JSON解析的工具很多,比如SBJSON、TouchJSON、JSONKit等工具,我们可以选择一个JSON。

解析总结

JSON是一种比XML更轻量的数据格式。

XML比JSON更灵活。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值