iOS笔记—沙盒(sandbox)

当ios app应用被创建时,就会生成一个专有的沙盒,每个沙盒中包含有三个文件,分别是:Documents、Library和tmp。顾名思义,这三个文件夹的作用分别存放文件类的文件、存放库类的系统状态文件和临时存放的文件。

Document:一般存放需要持久的数据,iTunes备份和恢复会把该数据还原。(可在此目录中添加子文件夹方便数据分类)。该目录是用来备份数据的,如果该文件夹备份内容过大会不能通过Apple审核。

Library/Caches:设置程序的默认设置和其他状态信息。存放缓存文件,iTunes不会备份此目录。此目录应用退出后不会被删除。(数据需要长时间使用,又不需要备份的,将其放入Caches目录)

Tmp:临时文件的目录,存放临时,iTunes不会备份此目录,此目录可能在应用退出后被删除。(在内存吃紧的时候,tmp文件夹的内容会自动清除)

        // 沙盒的主目录
        NSString *homePath = NSHomeDirectory();
        NSLog(@"homepath is = %@",homePath);
        
        // 沙盒下的Documents目录
        NSString *documentsPath = [homePath stringByAppendingPathComponent:@"Documents"];
        NSLog(@"documentspath is = %@",documentsPath);
        
        
        // 沙盒下的Library目录
        NSString *libraryPath = [homePath stringByAppendingPathComponent:@"Library"];
        
        NSLog(@"librarypath is %@", libraryPath);
        
        // 沙盒下的tmp目录
        NSString *tmpPath = [homePath stringByAppendingPathComponent:@"tmp"];
        NSLog(@"tmp is %@", tmpPath);
        
        // 获取文件路径的组成部分
        NSArray *components = [tmpPath pathComponents];
        NSLog(@"components is = %@", components);
        
        // 获取文件的最后组成部分
        NSString *lastName = [tmpPath lastPathComponent];
        NSLog(@"lastName is = %@", lastName);
        
        // 文件路径的追加
        NSString *superaddtion = [tmpPath stringByAppendingPathComponent:@"text.png"];
        NSLog(@"superaddtion is = %@",superaddtion);
        
        // 文件路径删除最后组成部分
        NSString *deleteLast =[tmpPath stringByDeletingLastPathComponent];
        NSLog(@"deleteLast is = %@",deleteLast);
        
        // 追加扩展名
        NSString *extensionName = [tmpPath stringByAppendingPathExtension:@"txt"];
        NSLog(@"extensionName is = %@", extensionName);
        
        // 文件路径最后部分的扩展名 返回值为字符串
        NSString * exten = [tmpPath pathExtension];
        NSLog(@" 扩展名 is = %@", exten);


你可能感兴趣的:(iOS--OC语法与基础)