我有以下代码应该删除 3 个文件:
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *pngFilePath = [docDir stringByAppendingPathComponent:currentFileName];
NSLog(@"png %@",pngFilePath);
NSString *thumbFilePath = [docDir stringByAppendingPathComponent:currentThumbFileName];
NSLog(@"thumb %@",thumbFilePath);
NSString *plistFilePath = [docDir stringByAppendingPathComponent:currentPlistName];
NSLog(@"plist %@",plistFilePath);
NSError *error, *error2, *error3;
[[NSFileManager defaultManager] removeItemAtPath:pngFilePath error:&error];
[[NSFileManager defaultManager] removeItemAtPath:thumbFilePath error:&error2];
[[NSFileManager defaultManager] removeItemAtPath:plistFilePath error:&error3];
但是,它会删除整个"文档"文件夹。但是,如果我注释最后三行中的两行,因此它只删除其中一个文件,则只会删除该文件。
更新:这是 NSLog:
2013-01-23 13:51:28.715 Amaziograph[16466:c07] png /Users/Hristo/Library/Application Support/iPhone Simulator/5.1/Applications/C9FAA196-7904-4070-A208-A53451A64602/Documents/amaziograph_2013_01_23_13_43_37.png
2013-01-23 13:51:28.716 Amaziograph[16466:c07] thumb /Users/Hristo/Library/Application Support/iPhone Simulator/5.1/Applications/C9FAA196-7904-4070-A208-A53451A64602/Documents/amaziograph_2013_01_23_13_43_37_thumb.png
2013-01-23 13:51:28.716 Amaziograph[16466:c07] plist /Users/Hristo/Library/Application Support/iPhone Simulator/5.1/Applications/C9FAA196-7904-4070-A208-A53451A64602/Documents/amaziograph_2013_01_23_13_43_37.plist
我该怎么删除所有 3 个?
事实证明,
我调用了上面的代码两次 - 第一次没有特定的文件名,因此它删除了文件的文件夹。NSLog说:
png /Users/... .../Documents/(null).png
因此,"文档"文件夹被删除了。然而,我无法解释如果一次只删除一个文件,为什么它会起作用。