这边文章主要记录在不同的区域,读取plist都有什么限制。
- 首先说一下plist的存取吧
存储为plist
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
path = [path stringByAppendingPathComponent:@"config.plist"];
BOOL result = [self.configure writeToFile:path atomically:YES];
NSDictionary *cacheDict = @{@"name":@"zhangsan"};
[cacheDict writeToFile:path atomically:YES];
读取plist文件
读取plist的文件的时候路径是关键。
/// 从自己存储的沙盒读取plist
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
path = [path stringByAppendingPathComponent:@"config.plist"];
BOOL result = [self.configure writeToFile:path atomically:YES];
NSDictionary *cacheDict = @{@"name":@"zhangsan"};
[cacheDict writeToFile:path atomically:YES];
[NSDictionary dictionaryWithContentsOfFile:path];
/// 从手动创建的plist读取plist(此处系统的plist在mainBundle的里,此位置不允许写入,只能读取)
NSString *path = [[NSBundle mainBundle] pathForResource:@"config.plist" ofType:nil];
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:string];
- 总结
如果想像我一样想要更新手动创建的plist的时候,我们就会遇到问题,无法直接修改。我们需要将手动创建的plist先复制一份存储在沙盒内,然后通过沙盒去读写plist。
所以最后我们总结,沙盒才是我们可以有读写权的磁盘空间,而根目录下的文件只有读权。
网友评论