iOS数据存储(一)介绍

iOS数据存储(一)介绍,第1张

iOS本地化存储的数据保存在沙盒中。

(1) Documents :iTunes会备份该目录。一般用来存储需要持久化的数据。

(2) Library/Caches :缓存,iTunes不会备份该目录。内存不足时会被清除,应用没有运行时,可能会被清除。一般存储体积大、不需要备份的非重要数据。

(3) Library/Preference :iTunes同会备份该目录,可以用来存储一些偏好设置。

(4) tmp : iTunes不会备份这个目录,用来保存临时数据,应用退出时会清除该目录下的数据。

获取沙盒文件:

其中:

  可以把字典或数组直接写入到文件中。另外, NSString 、 NSData 、 NSNumber 等类型,也可以使用 writeToFile:atomically: 方法直接将对象写入文件中,只是 Type 为空。

   NSUserDefaults是轻量级存储,一般使用它来进行一些设置的记录,比如用户ID,开关是否打开等设置,通过键值对的方式记录设置,所以这个有时候也被称为偏好设置。

  NSUserDefaults可以存储的数据类型包括: NSData 、 NSString 、 NSNumber 、 NSDate 、 NSArray 、 NSDictionary 。如果要存储其他类型,则需要转换为前面的类型,才能用NSUserDefaults存储。

也可以写成宏定义

多种保存方式。

用户偏好保存:NSUserDefaults

保存:[[NSUserDefaults standardUserDefaults] setObject:你的字典或数组 forKey:@"设置关键key"]

取出(根据你设置的key来取出): [[NSUserDefaults standardUserDefaults] objectForKey:@"设置关键key"]

2.保存到沙盒路径(数组同理)

NSDictionary *dic = @{}

//得到本地沙盒路径

NSString *libPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]

//拼接文件路径

NSString *path = [libPath stringByAppendingPathComponent:@"你的文件名.格式"]//一般常用plist

//保存

[dic writeToFile:path atomically:YES]

3.corodata或sqlite3

4.转换成字节流保存。

5.归档。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9260962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存