iOS中的沙盒机制

在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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值