ios - 如果为空则删除目录

标签 ios objective-c nsfilemanager

我正在尝试使用以下代码检查文件夹是否为空,如果是则将其删除:

NSArray *folderContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:theDirectory error:&error];
if (!folderContents){
    if (folderContents.count == 0)
    {
        NSLog(@"empty");
        [[NSFileManager defaultManager] removeItemAtPath:theDirectory error:&error];
    }  
}

这没有用,我猜我错过了一些愚蠢的事情,但希望得到任何指点。

  • 更新: 问题是我自己的愚蠢 - 第二行的 ! 流浪。 删除它,它会按预期工作。

最佳答案

你想要这个:

NSError *error = nil;
NSArray *folderContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:theDirectory error:&error];
if (folderContents) {
    if (folderContents.count == 0) {
        NSLog(@"empty");
        [[NSFileManager defaultManager] removeItemAtPath:theDirectory error:&error];
    }
} else {
    // log error
}

关于ios - 如果为空则删除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951248/

相关文章:

ios - NSDictionary 的不区分大小写的键

swift - 播放文档目录中的 m4a 文件

objective-c - 检查文件是否存在时出错

ios - 在 iOS 中使用 NSBlockOperation 和 NSOperationQueue 延迟图像下载

ios - UIView 在运行时不会改变

objective-c - 延迟 XCTest 中所有单元测试的执行

从服务器下载和保存大量图像时的 iOS 内存问题 (ARC)

ios - iOS 中控制反转的框架和静态库有何不同?

ios - Phonegap/Cordova 在后台 IOS 中经过一段时间后停止音频

objective-c - iOS:将两个值相乘