在iOS开发中有三个存放数据的文件夹:Documents,temp和library/cache。
Documents:主要存放系统文件,和一些较大的文件。iTunes在备份和恢复的时候会包含此目录。
temp:主要存放临时文件,iTunes在备份和恢复的时候不会回复此目录,在应用重启的时候里面的文件也会不存在。
library/cache:主要存放缓存文件,iTunes不会备份此文件,文件内容不会因为应用重启数据被删除。
在开发中,要用到这三个目录存放数据的时候,可以这样做。建立一个NSString的类,以便于调用。
#import <Foundation/Foundation.h>
@interface NSString (FileCache)
- (instancetype)cacheDir;
- (instancetype)documentDir;
- (instancetype)tempDir;
@end
#import "NSString+FileCache.h"
@implementation NSString (FileCache)
//传入字符串,直接在沙盒Cache中生成路径
- (instancetype)cacheDir{
NSString *cache = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
return [cache stringByAppendingPathComponent:[self lastPathComponent]];
}
//传入字符串,直接在沙盒Document中生成路径
- (instancetype)documentDir{
NSString *document = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
return [document stringByAppendingPathComponent:[self lastPathComponent]];
}
//传入字符串,直接在沙盒Temp中生成路径
- (instancetype)tempDir{
NSString *temp = NSTemporaryDirectory();
return [temp stringByAppendingPathComponent:[self lastPathComponent]];
}
@end