- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【理解】iOS数据持久化存储教程
【理解】iOS数据持久化存储
总述:
所谓数据持久化是指,将数据存储下来,使得应用程序下次打开或者机器重启后可以继续访问之前保存的数据。iOS开发中有多种持久化方案,如:
plist文件(属性列表)
NSKeyedArchiver(对象归档)
preference(偏好设置)
sqlite3
coredata?
沙盒机制:ios不同应用有独立的文件目录,不能互相访问。这个独立的文件目录就称为”沙盒”.?
1、目录结构,苹果帮忙创建应用的目录机构,如下:
“应用程序包”
Documents 保存的持久性最强,可同步到其它地方。
Library 下有Cache 和Preferences
tmp:用于存放临时文件,?
2、目录说明?
“应用程序包”:这里存放的是应用程序源文件,包括资源文件和可执行文件。
? ? ? ? ? ? ? ? ? ? ? ?NSString *path = [NSBundle mainBundle]bundlePath];
? ? ? ? ? ?“Documents”:最常用的目录,itunes同步该应用时,会同步此文件中的内容,适合存储重要数据。
? ? ? ? ? ? ? ? ? ? ? ?NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES).firstObject;
? ? ? ? ? ? ?Library /Cache:ITunes不会同步此文件夹,适合存储体积大,不需要备份的非重要数据。
? ? ? ? ? ? ? ? ? ? ? ?NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,yes).firstObject;
? ? ? ? ? ? ?Library /Preferences::ITunes会同步此文件夹,通常保存应用的设置信息
? ? ? ? ????tmp:iTunes不会同步此文件夹,系统可能在应用没运行时就删除该目录下的文件,所以此目录适合保存一些临时文件,用完就删除。
? ? ? ? ? ? ? ? ? ? ???NSString *path= NSTemporaryDirectory();
一、plist 属性文件
plist文件是将某些特定的类,通过xml文件的方式保存在目录中。?
可以被序列化的类型:?
1. NSArray?
2. NSMutableArray?
3. NSDictionary?
4. NSMutableDictionary?
5. NSData?
6. NSMutableData?
7. NSString?
8. NSMutableString?
9. NSNumber?
10. NSDate?
只有以上10种类型才能使用plist文件存储。存储时使用writeToFile:atomically:方法。其中第二个参数atomically表示是否需要先写入一个辅助文件,再把辅助文件拷贝到目标文件地址。这是更安全的卸乳文件方法,一般都用yes。?
读取时使用 arrayWithContentsOfFile:方法。
1、获取路径?
NSString *path =?
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES).firstObject;?
NSString *fileName = [path?
stringByAppendingPathComponet:@”test.plist”];?
2、存储数据?
NSString *array=@[@”中”,@”4g”,@”3g”];?
[array writeToFile:fileName atomically:YES];?
3、读取数据?
NSArray *data =[NSArray arrayWithContentsofFIle:fileName];
二、preference 偏好设置
//?偏好设置
-(void)persistencePreferences{
//? ? 1、获取NSUserDefaults文件
? ??NSUserDefaults?*userDefaultS = [NSUserDefaults?standardUserDefaults];
//? ? 2、向文件写入文件内容
? ? [userDefaultS?setInteger:50?forKey:@age];
? ? [userDefaultS?setObject:@zh
您可能关注的文档
最近下载
- 住院医师规范化培训教学活动指南(2021年版)文字版.docx
- tc helicon voicelive人声效果器中文说明书.pdf
- 高中化学知识点总结.docx VIP
- 京东集团员工手册-京东.docx
- 2024年江苏省政府采购专家库题库.docx VIP
- 电力安装三方合同协议书.docx
- 2025年汉江国有资本投资集团有限公司招聘【57人】笔试参考题库附带答案详解.docx
- 高标准农田建设项目管理.pptx
- 蒸压加气混凝土制品应用技术标准.pdf
- 部编版历史七年级上册第一单元 史前时期 中国境内早期人类与文明的起源 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx
文档评论(0)