OC-存档
Δ一. .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格式进行校验并规整。
最新文章
- 測試大型資料表的 Horizontal Partitioning 水平切割
- 关于Unity游戏开发方向找工作方面的一些个人看法
- C# winform OpenFileDialog MessageBox
- PCL -语法错误:“::” error C2589: “(”:“::”右边的非法标记
- react项目组件化思考
- [Node.js] Promise,Q及Async
- kmp算法详解
- 由多次使用Statement实例引起的Result set already closed异常的解决方案
- 联想电脑win7旗舰版环境下的如何成功配置AppServ
- 三、Android NDK编程预备之Java jni入门创建C/C++共享库
- The Story of self Parameter in Python, Demystified
- 转:Loadrunner报错“Too many local variablesAction.c”解决方法
- Django入门二之模板语法
- 终于明白了 C# 中 Task.Yield 的用途
- C++学习 —— 重新认识C++
- JS setAttribute兼容
- jw player 配置参数
- Maven知识点积累二
- ZOJ 3960 What Kind of Friends Are You?(读题+思维)
- 使用tushare的pandas进行to_sql操作时的No module named &#39;MySQLdb&#39;错误处理
热门文章
- 006-HotSpot JVM收集器
- Android 6.0 Kotlin 蓝牙BLE扫描
- 理解盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。
- Rock-Paper-Scissors-Lizard-Spock Python实现
- 基于Bootstrap的日历控件和日期选择插件
- 当root用户无密码,非超级权限用户时提示mysqladmin: Can&#39;t turn off logging; error: &#39;Access denied; you need the SUPER privilege for this op解决方案
- log4j日志的配置--Debug
- [BZOJ1587]叶子合并leaves
- mysql DATE_FORMAT 年月日时分秒格式化
- AtCoder Regular Contest 096