Δ一.   .plist文件

.plist文件是一个属性字典数组的一个文件;

.plist文件可以用来存储:字典、数组、字符串等对象数据,可以混搭存储

【注】iOS开发中,plist文件一般用于app的配置信息

【注】ios开发工程中,允许多个plist文件共存。

【注】plist文件用来存储小数据量的数据

//优点:可视化以及可编辑性非常方便

【总结】

1.plist文件操作其实就是一个根目录是字典,内部数据各种嵌套操作。

2.如果想要修改plist中的某个字段内容,一层一层去找,找到后一层一层封装回来,重新写入文件。(文件的覆盖过程)

3.plist不允许出现key值重名,如果重名,会把之前的名称下的值给冲掉。

二.NSUserDefault 对文件进行存储的类

1. NSUserDefault是一个本地数据存储类,可以存储小数据量的信息。

2. NSUserDefault 在iOS中常用来存储用户的个人信息,以及登陆注册信息。

【注】到目前为止,所学的归档、写文件、NSUserDefault都是存储小数据量信息的类,他们可以存储大数据量但是会出现性能问题。存储大数据量信息用【数据库】

【数据库】

1.SQlite 底层的数据,需要自己手动去创建数据库文件(db),并且需要手动去书写sqlite 语句;

2.【core data】是苹果公司提供的一种数据库存储、查询、修改、删除等操作一种解决方案;core data数据库其实就是一个对sqlit3进行封装的类库。

3.第三方数据库。

Δ【学习NSUserDefault】

【注】NSUserDefault 可以存储的数据类型有:NSNumber(NSInterger、flost、double),NSDictionary,NSArray、Bool,NSString这些数据类型

Δ.【扩展知识— c语言 转义字符】

转义字符就是用来解决程序中的一些特殊符号导致编码出错的问题。比如:

【注】对要进行转义的字符每个前面都要写 \

1.‘

2.“

3. 回车

4.等等非常多

【扩展】

1.编程中文件的命名最好不要有中文、空格、特殊符号(因为计算机会对中文或者空格或者特殊符号进行转义)

2.文件和内存数据之间的转换关系

cpu(计算机处理数据大脑)所有的数据都是按照cpu的指令去调度执行

本地文件——>内存           (读的过程)

内存      ——>本地文件     (写的过程)

【注】代码中定义的变量或者对象变量,这些变量的内容都是在内存中存储运算。如果想把一些有用的信息永久保留,就需要把信息保存到文件中。

(1).内存中的数据,都是一些临时数据,当计算机发生意外情况(断电),内存中的数据都会消失;

(2).把内存中的输入写入到文件中,就可以永久保存,只要文件没有被删除。

三.json格式解析

1.json

2.xml

【比较】xml格式出现的比json格式早,xml就是表单(表格)(<body>name</body>),xml最致命的缺点就是可阅读性不高,导致程序员解析比较麻烦。xml优点是应用到大数据量。但是,随着移动端的兴起,json这种格式也开始流行。逐渐成为ios平台和安卓平台app端获取数据一种格式。json格式优点:格式清晰,应用于小数据量的获取。

【注】可以利用http://www.bejson.com/     对json格式进行校验并规整。

OC-存档的更多相关文章

  1. iOS - OC NSKeyedArchiver 数据归档

    前言 @interface NSKeyedArchiver : NSCoder @interface NSKeyedUnarchiver : NSCoder 在 OC 语言中,归档是一个过程,即用某种 ...

  2. 01 (OC)* @property 后面可以有哪些修饰符?

    一:@property 后面可以有哪些修饰符? 1:线程安全的: atomic,nonatomic 2:访问权限的 readonly,readwrite 3:内存管理(ARC) assign, cop ...

  3. iOS代码规范(OC和Swift)

    下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...

  4. 用C语言封装OC对象(耐心阅读,非常重要)

    用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...

  5. [修正] Firemonkey TFrame 存档后,下次载入某些事件连结会消失(但源码还在)

    问题:Firemonkey TFrame 存档后,下次载入某些事件连结会消失(但源码还在) 解决:(暂时方法) type TTestFrame = class(TFrame) public const ...

  6. 嵌入式&iOS:回调函数(C)与block(OC)传 参/函数 对比

    C的回调函数: callBack.h 1).声明一个doSomeThingCount函数,参数为一个(无返回值,1个int参数的)函数. void DSTCount(void(*CallBack)(i ...

  7. 嵌入式&iOS:回调函数(C)与block(OC)回调对比

    学了OC的block,再写C的回调函数有点别扭,对比下区别,回忆记录下. C的回调函数: callBack.h 1).定义一个回调函数的参数数量.类型. typedef void (*CallBack ...

  8. C#对.zip 存档读取和写入

    Framework4.5支持 引用: System.IO.Compression.dll,System.IO.Compression.FileSystem.dll 提取压缩文件 ZipFile.Ext ...

  9. WebViewJavascriptBridge源码探究--看OC和JS交互过程

    今天把实现OC代码和JS代码交互的第三方库WebViewJavascriptBridge源码看了下,oc调用js方法我们是知道的,系统提供了stringByEvaluatingJavaScriptFr ...

  10. OC泛型

    OC泛型 泛型是程序设计语言的一种特性,他主要是为了限制类型的,比如OC中的数组,你可以限制他里面装的是NSString类型,泛型的话JAVA和C++都有的,大家要是对泛型不了解的话可以去百度一下. ...

随机推荐

  1. Java基础—枚举

    定义 枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示. 为什么要用枚举 在java语言中还没有引入枚举类型之前,表示枚 ...

  2. Python基础学习之 函数

    阅读目录 第一篇:  函数初识 第二篇:  函数命名空间 作用域 闭包 第三篇:  装饰器 第四篇:  装饰器 面试题错误点 第五篇:  迭代器生成器 第六篇:  生成器进阶 第七篇:  递归 第八篇 ...

  3. Python基础、判断、循环、列表、字典,day1

    一.Python 简介 1.介绍 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标 ...

  4. Linux基础——系统监控

    系统监视和进程控制工具——top(任务管理器) top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. 各行数据大致解释如下: 12: ...

  5. git---控制面板提交

    比如我修改了一个项目的代码.需要提交代码. 1.打开项目所在目录,右键>Git Bash Here 2.打开交互模式.git会列出所有untracked的文件,然后你可以用各种形式加入.git ...

  6. python网络编程——网络IO模型

    1 网络IO模型介绍 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:    (1)同步阻塞IO(Blocking IO):即传统的IO模型.    (2)同步非阻塞IO(Non-bl ...

  7. velocity 使用笔记

    1. velocity获取字符串长度方法: 用length()就可以了,截取子字符串用substring(0,10) .$str.substring(0,3) 集合获取集合长度用:size() 2.  ...

  8. 【Head First Servlets and JSP】笔记23:Expression Language(EL) 完全攻略

    基本上是<Head First Servlets and JSP>内容的整理.扩充.顺便推荐一个供参考的JSP教程:JSP Tutorial内容很全面,还有一些有趣的实例. 完整代码参考 ...

  9. 20145201《Java程序设计》第九周学习总结

    20145201 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无须接触底层 ...

  10. 函数:生成1-n的随机数组,

    方法很笨,不过可行: #include <stdio.h> /** 功能:获取一个1-n的随机数数组,这些随机数都互不相同 ** 入参:n-表示最大随机数: *randArray -用于储 ...