NSFileManager,如何确定是否可以删除文件或目录?

时间:2014-07-11 18:42:55

标签: ios macos cocoa nsfilemanager

有没有办法告诉,如果打电话

[[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL];

会失败吗?

1 个答案:

答案 0 :(得分:2)

我想你想查看适用于文件和目录的NSFileManager -isDeletableFileAtPath: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSFileManager_Class/Reference/Reference.html#//apple_ref/occ/instm/NSFileManager/isDeletableFileAtPath

但是,您应该注意文档中列出的注释:

  

注意:建议不要尝试基于文件系统的当前状态或文件系统上的特定文件来预测行为。这样做可能会导致奇怪的行为或竞争条件。尝试执行操作(例如加载文件或创建目录),检查错误以及优雅地处理这些错误要比尝试提前判断操作是否成功要好得多。有关文件系统竞争条件的详细信息,请参阅“安全编码指南”中的“竞争条件和安全文件操作”。

尝试删除它并检查错误,而不是传递NULL