1朗徊、沙盒
- 程序只能訪問自己的沙盒
- NSHomeDirectory() 訪問沙盒路徑
- 沙盒下有三個(gè)目錄:Documents、Library楚昭、tmp
- 圖
屏幕快照 2016-03-12 下午4.48.19.png
Documents:
- 1)一般用存在程序中創(chuàng)建的文件
- 2)程序中瀏覽到的文件數(shù)據(jù)保存在該目錄下
- 3)iTunes備份和恢復(fù)的時(shí)候會包括此目錄
//Documents路徑
NSString *address = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
Library:
- 1)存儲應(yīng)用的默認(rèn)設(shè)置及狀態(tài)信息
Library/Caches:
- 1)存放緩存文件辉巡,iTunes不會備份此目錄套蒂,此目錄下文件不會在應(yīng)用退出刪除
Library/Preferences:
- 1)目錄包含應(yīng)用程序的偏好設(shè)置文件太雨。您不應(yīng)該直接創(chuàng)建偏好設(shè)置文件吟榴,而是應(yīng)該使用NSUserDefaults
//Library路徑
NSString * Libraryaddress = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
//Caches路徑
NSString *address = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
//
[Libraryaddress stringByAppendingFormat:@"/Caches"]
//Preferences路徑
[Libraryaddress stringByAppendingFormat:@"/Preference"]
tmp:
- 1)提供一個(gè)即時(shí)創(chuàng)建臨時(shí)文件的地方
//tmp路徑
NSString *string = NSHomeDirectory();
NSString *tmp = [string stringByAppendingFormat:@"/tmp"];
//
NSString *string = NSTemporaryDirectory();
- 注意
iTunes在與iPhone同步時(shí),備份所有的Documents和Library文件囊扳。
iPhone在重啟時(shí)吩翻,會丟棄所有的tmp文件。
- 寫入沙盒
NSString *string = NSTemporaryDirectory();
//NSString
NSString *stringH = @"HHHHHHHHHHHHH";
[stringH writeToFile:[string stringByAppendingString:@"HH.text"] atomically:YES encoding:NSUTF8StringEncoding error:nil];
// NSArray/NSDictionary/NSData
NSArray *arr = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
[arr writeToFile:[string stringByAppendingString:@"arr.text"] atomically:YES];
- 刪除沙盒文件
NSString *string = NSTemporaryDirectory();
NSFileManager *manager = [NSFileManager defaultManager];
[manager removeItemAtPath:[string stringByAppendingString:@"arr.text"] error:nil];
- 判斷沙盒中是否有此文件
BOOL isExsit = [manager fileExistsAtPath:[string stringByAppendingString:@"HH.text"]];
NSFileManager *manager = [NSFileManager defaultManager];
NSString *imgHPath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:@"/imgH"];
// 創(chuàng)建一個(gè)文件夾
if (![manager isExecutableFileAtPath:imgHPath]) {
[manager createDirectoryAtPath:imgHPath withIntermediateDirectories:YES attributes:nil error:nil];
}
//向imgH文件中添加圖片
NSURL *url = [NSURL URLWithString:imgString];
NSString *pathString = [NSString stringWithFormat:@"/%@", [imgString substringFromIndex:(imgString.length - 7)]];
NSString *cachePath = [imgHPath stringByAppendingPathComponent:pathString];
NSLog(@"%@", cachePath);
// 刪除imgH文件
NSString *imgHPath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:@"/imgH"];
NSFileManager *manager = [NSFileManager defaultManager];
if ([manager isExecutableFileAtPath:imgHPath]) {
[manager removeItemAtPath:imgHPath error:nil];
}
NSLog(@"%@", NSHomeDirectory());