博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS-Plist文件存储(1)
阅读量:6254 次
发布时间:2019-06-22

本文共 2221 字,大约阅读时间需要 7 分钟。

1.什么是一个文件系统?

IOS每个应用程序都有自己的文件系统。并且有一个相应的接入,一般分

~/Documents/

~/tmp/

~/Library/Caches/

~/Library/Preferences/-------键值对,不用关心文件路径。

其路径的获取方式为

{    //获取主文件夹    NSString *path=NSHomeDirectory();    NSString *docPath=[path stringByAppendingPathComponent:@"Documents"];    NSLog(@"%@",docPath);    //获取文件文件夹    NSArray *DocumentPath=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSAllDomainsMask, YES);    //    NSLog(@"%@",DocumentPath[0]);    //获取缓存文件夹    NSArray *cachePath=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSAllDomainsMask, YES);    //    NSLog(@"%@",cachePath[0]);    //获取暂时文件夹    NSString *temp=NSTemporaryDirectory();    //    NSLog(@"%@",temp);}

Plist文件仅仅能存储NSString NSNumber NSData NSArray NSDictionary的内容,其文件存储为xml格式

NSArray存储到Documents中:

NSArray *arr=@[@"name",@"age",@"height"];    NSString *path=NSHomeDirectory();    NSString *docPath=[path stringByAppendingPathComponent:@"Documents"];    NSString *filepath=[docPath stringByAppendingPathComponent:@"/aa.plist"];    //把array存储到plist文件里    [arr writeToFile:filepath atomically:YES];    //从文件路径读取为array    NSArray *arr2=[NSArray arrayWithContentsOfFile:filepath];
NSDictionary存储到Cache中:

NSDictionary *dic=@{@"name":@"lean",@"age":@24,@"height":@172 };    NSArray *dicArr=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSAllDomainsMask, YES);    NSLog(@"%@",dicArr[0]);    NSString *dirPath=dicArr[0];    NSString *filePath=[dirPath stringByAppendingPathComponent:@"dic.plist"];    //把Dictionary存储到plist文件里    [dic writeToFile:filePath atomically:YES];    //从文件路径读取为Dictionary    NSDictionary *dic2=[NSDictionary dictionaryWithContentsOfFile:filePath ];
NSData读取图片:

//读写图片吧能直接存储 仅仅能通过NSData来存储。

//下面样例为从UIImageView中存储文件并在还有一个控件中读取显示 NSArray *arr=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSAllDomainsMask, YES); NSLog(@"%@",arr[0]); NSString *cachePath=arr[0]; NSString *filePath=[cachePath stringByAppendingPathComponent:@"image.plist"]; UIImage *image=[self.a image]; NSData *data=UIImageJPEGRepresentation(image,1); [data writeToFile:filePath atomically:YES]; NSData *data2=[NSData dataWithContentsOfFile:filePath]; UIImage *image2=[UIImage imageWithData:data2 ]; self.b.image=image2;

版权声明:本文博主原创文章,博客,未经同意不得转载。

你可能感兴趣的文章
2003加入域提示“用户已存在”
查看>>
Druid.io索引过程分析——时间窗,列存储,LSM树,充分利用内存,concise压缩
查看>>
Win2008 R2 VDI动手实验系列之四:远程桌面连接代理配置
查看>>
IT人的自我导向型学习:学习的4个层次
查看>>
基于Hadoop数据仓库Hive1.2部署及使用
查看>>
利用shell计算find命令查出后的总文件大小
查看>>
性能之外:LSI 6Gb/s SAS RAID渠道先行
查看>>
SCCM2012系列之十二,SCCM2012部署操作系统
查看>>
Docker镜像导致centos-root根分区容量爆满
查看>>
VB无所不能之七:VB的多线程(2)
查看>>
快速部署远程同步服务Rsync
查看>>
玩 High API 系列之:UGC内容检测
查看>>
Lync Server 2010边缘需要的公网IP数量
查看>>
开发常见错误解决(2)WSE3.0安装问题,VS2005集成
查看>>
使用扩展方法对调用进行验证
查看>>
这样学习Unix下C语言编程最有效
查看>>
Office 365强势来袭PART2:云中SharePoint
查看>>
一个字符串找查的例子
查看>>
云计算概况及第一个Azure程序
查看>>
C# 使用NPlot绘图技巧
查看>>