Obj-C createFileAtPath问题 - 永远不会创建文件?

时间:2014-10-05 07:22:12

标签: ios objective-c

以下块中的if / else如何连续返回" No File Found"在这种情况下?我已经在iOS 7和iOS 8上对设备进行了测试,并且每次在创建它之后都无法立即检测到文件...难倒。 (定义占位符变量的所有内容)

NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docs = path[0];
NSString *imgPath = [docs stringByAppendingPathComponent:@"images"];
NSString *savePath = [imgPath stringByAppendingPathComponent:imageEntity.name];
NSData *placeholder = UIImageJPEGRepresentation(image, 0.1);

[[NSFileManager defaultManager] createFileAtPath:savePath contents:placeholder attributes:nil];

if ([[NSFileManager defaultManager] fileExistsAtPath:savePath]) {
    NSLog(@"File found!");
} else {
    NSLog(@"No File found!");
}

1 个答案:

答案 0 :(得分:1)

您需要先创建用于保存文件的目录

createFileAtPath方法

之前添加以下行
[[NSFileManager defaultManager] createDirectoryAtPath:imgPath withIntermediateDirectories:YES attributes:nil error:nil];