(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.归档。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)