【问题标题】:iPhone - reducing file manager accessiPhone - 减少文件管理器访问
【发布时间】:2010-12-05 17:37:19
【问题描述】:

我有一个删除文件的方法。其实我有这个

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:myFile];

NSFileManager *fileManager = [NSFileManager defaultManager];


if ([fileManager fileExistsAtPath:appFile]) { //I am thinking about removing this line
    [fileManager removeItemAtPath:appFile error:nil];   
}

由于我试图将文件管理器的访问权限降至最低,我正在考虑在删除之前删除检查文件是否存在的行。会安全吗?我是否有发生某种崩溃的风险?

我已经测试过了,我没有崩溃,但谁知道...... 谢谢

【问题讨论】:

  • 检查是没有意义的,因为文件可能在“exists”和“remove”调用之间被另一个线程或进程删除。

标签: iphone cocoa nsfilemanager


【解决方案1】:

是的,您可以取消检查文件是否存在而不会出现问题。您通常会检查 removeItemAtPath 的返回值是否为 YES/NO。如果文件不存在,它将返回 NO。此时,您通常会检查 NSError 对象以获取详细信息。

【讨论】:

    猜你喜欢
    • 2014-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多