这一题我不太会,image.doc没能成功在沙盒里创建

这一题我不太会,image.doc没能成功在沙盒里创建

- (IBAction)createInDocuments:(id)sender {
    NSString *documents = [MCFileManager documentsDirectory];
    NSLog(@"doucuments目录:%@", documents);
    
    NSString *directoryName = @"imooc";
    BOOL createResult = [MCFileManager createDirectoryInPath:documents directoryName:directoryName];
    if (createResult) {
        NSLog(@"创建文件夹 %@ 成功", directoryName);
        NSString *newDir = [documents stringByAppendingPathComponent:@"imooc"];
        NSLog(@"新的路径:%@", newDir);
        
        //创建新的文件路径
        NSString *newFile = [newDir stringByAppendingPathComponent:@"image"];
        NSLog(@"新的文件路径:%@", newFile);
        newFile = [newFile stringByAppendingPathExtension:@"doc"];
        NSLog(@"追加了扩展名:%@", newFile);
        
        
        if (newFile) {
            NSLog(@"文件路径存在");
        } else{
            NSString *fileName = @"image.doc";
            createResult = [MCFileManager createFileInPath:newDir fileName:fileName];
            if (createResult) {
                NSLog(@"创建文件 %@ 成功", fileName);
            } else {
                NSLog(@"创建文件 %@ 失败", fileName);
            }
        }
        
    } else {
        NSLog(@"创建文件夹 %@ 失败", directoryName);
    }
    
    
}

利用前面老师的方法写的,成功在沙盒创建imooc文件夹,但文件没有。

如果我把我拼接文件路径那一段代码删去的话,直接使用创建文件就可以。

题目上的顺序是 创建imooc文件夹后,拼接文件路径 ,判断是路径否存在,不存在则创建文件,这样子么?

那请问判断路径那段怎么写

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
提问者 Madao54 2018-10-28 22:52:42

我重新整理了一下好像可以了,是这样吗?

//作业
- (IBAction)createInDocuments:(id)sender {
    NSString *documents = [MCFileManager documentsDirectory];
    NSLog(@"doucuments目录:%@", documents);
    
    NSString *directoryName = @"imooc";
    BOOL createResult = [MCFileManager createDirectoryInPath:documents directoryName:directoryName];
    if (createResult) {
        NSLog(@"创建文件夹 %@ 成功", directoryName);
        NSString *newDir = [documents stringByAppendingPathComponent:@"imooc"];
        NSLog(@"新的路径:%@", newDir);
        
        //创建新的文件路径
        NSString *newFile = [newDir stringByAppendingPathComponent:@"image"];
        NSLog(@"新的文件路径:%@", newFile);
        newFile = [newFile stringByAppendingPathExtension:@"doc"];
        NSLog(@"追加了扩展名:%@", newFile);
        
        BOOL isDirectory;
        NSString * filePath = [newDir stringByAppendingPathComponent:newFile];
        BOOL fileExist = [MCFileManager fileExistInPath:filePath isDirectory:&isDirectory];
        if (fileExist) {
            NSLog(@"文件路径存在");
        } else{
            NSString *fileName = @"image.doc";
            createResult = [MCFileManager createFileInPath:newDir fileName:fileName];
            if (createResult) {
                NSLog(@"创建文件 %@ 成功", fileName);
                
            } else {
                NSLog(@"创建文件 %@ 失败", fileName);
            }
        }
        
    } else {
        NSLog(@"创建文件夹 %@ 失败", directoryName);
    }
    
    
}


  • 提问者 Madao54 #1
    好像有点问题,去掉以下这一句(23行 NSString * filePath = [newDir stringByAppendingPathComponent:newFile]; (24行改成这样 BOOL fileExist = [MCFileManager fileExistInPath:newFile isDirectory:&isDirectory];
    2018-10-28 23:04:30
  • Tender10 回复 提问者 Madao54 #2
    因为没有MCFileManager这个文件的代码,所以没办法准确验证,但是整体代码的流程没什么问题,能运行成功得到结果,代码基本就没什么问题。
    2018-10-29 10:11:23
  • 提问者 Madao54 回复 Tender10 #3
    嗯嗯,MCFileManager文件是用的视频里的没改。
    2018-10-29 12:50:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS进阶:界面优化与数据存储
  • 参与学习       516    人
  • 提交作业       158    份
  • 解答问题       637    个

本路径采用基础+案例方式,助你解开对界面优化、数据储存、屏幕适配的疑惑。6小时团购项目实战加最新版本Swift讲解,让你掌握更多iOS开发技巧。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师