关于plist文件路径的两种读写方式
一些程序在运行时,通常在一些情况下需要从plist或者其他形式的文件中读取数据,不过一般不同的代码都会有所区别。
以下是我所遇到的两种情况。
NSString *path=[[NSBundle mainBundle]pathForResource:@"Property List" ofType:@"plist"]; NSURL *fileURL=[NSURL fileURLWithPath:path]; NSArray *tempArray=[NSArray arrayWithContentsOfURL:fileURL];//懒加载加进数组的过程
不过核心的还是第一句。
但是当我动态增加数据在写入plist的时候,无法用上面的路径形式写入,几次写入均失败。
[_arr writeToURL:fileURL atomically:YES ];看到同学用的另一种方式也就是第二种方式:
如下:
NSString *pather=@"/Users/administrator/Desktop/Mac文稿/iOSDay4/iOSday4Task/iOSday4Task/List.plist"; NSURL *pather2=[NSURL fileURLWithPath:pather]; [_arr writeToURL:pather2 atomically:YES ];发现这个时候是成功的。而且读文件也没有问题
两种主要的区别,上面的是相对路径,下面的是详细路径(绝对路径)。在网上找了一些资料,并未给出详细的解释。
我的猜想是,像这种动态写入plist的形式,还是需要详细路径的。当然或许是因为我用的电脑端的模拟器,需要详细路径,待真机测试第一种方式是否可写。
版权声明:本文为博主原创文章,未经博主允许不得转载。