iOS中的数据存储

iOS中的数据存储方式

iOS中的数据存储方式

Plist(NSArray\NSDictionary)

只能存储数组,字典,但是数组和字典里面不能有自定义对象

NSUserDefaults

NSCoding(NSKeyedArchiver\NSkeyedUnarchiver归档

存储自定义对象,局限:一次性做读取的存储的操作

SQLite3

  1. 什么是SQLite?
    SQLite是一款轻型的嵌入式数据库;它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了;它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快
  2. 怎么解决sqlite锁定的问题?
    设置数据库锁定的处理函数
    int sqlite3_busy_handler(sqlite3, int()(void,int), void);
    设定锁定时的等待时间
    int sqlite3_busy_timeout(sqlite3*, 60); :

Core Data

  1. 什么是Core Data?
    Core Data是iOS5以后才出现的一个框架,它提供了对象-关系映射(ORM)关系,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象,不用编写任何SQL语言(类似于Hibernate框架,没有那么强大)
  2. 使用步骤
    • 创建模型文件,相当于数据库
    • 添加实体,相对于表
    • 创建实体类,相当于模型类
    • 生成上下文 关联模型文件生成数据库

四,DDL:数据定义语句

1、Create

create table 表名(字段名1,字段类型1,字段名2,字段类型2….);

create table if not exists 表名(字段名1,字段类型1,字段名2,字段类型2….);

2、Drop

drop table 表名;

drop table if not exists 表名;

五、DML :数据操作语句

1、Insert

2、Update

3、Delete

六、DQL:数据查询语句

1、Where

2、Select

3、Group by having

1> select

2> 别名,可以不用as,
• 给数据库取别名的好处:用别名获取字段,有提示。

3> 计算查询数量count
4> 排序: 有条件语句,需要放在条件语句后。
5> limit : limit 0,5 跳过第0个,取5个数据,意味着取前5个数据。这个语 句必须放在查询语句最后面。

JSON

KeyChain

其他相关

iOS沙盒的目录结构

Application: 存放程序源文件
Document: 常用目录,iCloud备份目录,存放数据,这里不能存缓存文件,否则上架不能通过
Library:
Cache: 存放体积大又不需要备份的数据。SDWebImage缓存的路径就是这个
preference: 设置目录,iCloud会备份设置信息
tmp: 存放临时文件,不会被备份,而且这个文件下的数据有可能随时被清除的可能。

App Bundle里面有什么?

Info.plist:此文件包含了应用程序的配置信息,系统依赖此文件以获取应用程序的相关信息
可执行文件:此文件包含应用程序的入口和通过静态连接到应用程序target的代码
资源文件: 图片,声音文件一类的。
其他:可以嵌入定制的数据资源

如何存储用户的一些敏感信息,比如登录Token

使用keychain,也就是钥匙串,需要导入Security框架

文章目录
  1. 1. iOS中的数据存储方式
    1. 1.1. Plist(NSArray\NSDictionary)
      1. 1.1.1. NSUserDefaults
    2. 1.2. NSCoding(NSKeyedArchiver\NSkeyedUnarchiver归档
    3. 1.3. SQLite3
    4. 1.4. Core Data
    5. 1.5. JSON
    6. 1.6. KeyChain
    7. 1.7. 其他相关
      1. 1.7.1. iOS沙盒的目录结构
      2. 1.7.2. App Bundle里面有什么?
      3. 1.7.3. 如何存储用户的一些敏感信息,比如登录Token
本站总访问量 本站访客数人次 ,