iOS writeToFile 保存文件到沙盒某目录失败的解决方案
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS writeToFile 保存文件到沙盒某目录失败的解决方案相关的知识,希望对你有一定的参考价值。
参考技术A 最近想在document/ABC路径下保存一下图片,结果保存失败。于是新增一个路径是否存在的判断,如果ABC不存在则,创建。完美解决了问题。if (![[NSFileManager defaultManager] fileExistsAtPath:self.fileBasePath])
[[NSFileManager defaultManager] createDirectoryAtPath:self.fileBasePath withIntermediateDirectories:YES attributes:nil error:nil];
OC基本数据存储方式
/** 一,数据存储
常用方式(5种)
1,XML属性列表 -- 保存在Doucuments文件夹
2,偏好设置(NSUserDefault)-- Library/Preference
需要配合writetoFile来配合使用,保存到沙盒
3,归档(NSKeyedArchiver) -- 实现coding协议
4,sqlite --使用sqlite语法操作数据库
5,Core Data -- 由系统生成数据库
Documents : 保存应用运行时生成的需要持久化的数据,itunse同步时会备份该项目 (手动保存)
Library/Caches : 需要持久化的缓存数据,itunse同步时不会备份该项目
Library/Cookies :
Library/Perference : 保存应用程序的偏好设置,itunse同步时会备份该项目
Tmp : 临时文件夹,应用退出后清空该文件夹
*
*/
NSString *documentPath;//全局变量
//获取路径
documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
//MARK:属性列表
- (void)dataPlist{
//array,dictionary,string,number,boolean,data,date
NSArray *temArray = @[@"i",@"love",@"you",@"520"];
NSDictionary *tempDictionary = @{@"string":@"hzt",
@"number":@520,
@"object":temArray};
NSString *savePath = [documentPath stringByAppendingPathComponent:@"test.plist"];
[tempDictionary writeToFile:savePath atomically:YES];
//读取
NSDictionary *readDic = [NSDictionary dictionaryWithContentsOfFile:savePath];
NSLog(@"%@",readDic);
}
//MARK:偏好设置
- (void)dataUserDefault{
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
[userDefault setObject:@"i love you " forKey:@"string"];
[userDefault setBool:YES forKey:@"BOOL"];
[userDefault setInteger:520 forKey:@"Integer"];
}
以上是关于iOS writeToFile 保存文件到沙盒某目录失败的解决方案的主要内容,如果未能解决你的问题,请参考以下文章