abi*_*son 15 nsfilemanager ios ios6
我正在尝试写入以下路径:
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *storePath = [docDir stringByAppendingPathComponent:@"/newfolder/test.jpg"];
NSData *data = [NSData dataWithData:UIImagePNGRepresentation(image)];
BOOL saved = [data writeToFile:storePath atomically:NO];
NSLog(@"%c", saved);
Run Code Online (Sandbox Code Playgroud)
现在,没有任何内容被打印出来,我无法在模拟器中看到该文件.是否因为尚未创建Documents主文件夹中的"newfolder"文件夹.如果是这样,有没有办法创建它,如果它还没有?
谢谢!
rma*_*ddy 28
是的,您必须确保首先创建该文件夹.使用NSFileManager createDirectoryAtPath:withIntermediateDirectories:attributes:error:传递到您要创建的文件夹的路径(而不是您尝试编写的文件).
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *storePath = [docDir stringByAppendingPathComponent:@"newfolder/test.jpg"];
[[NSFileManager defaultManager] createDirectoryAtPath:[storePath stringByDeletingLastPathComponent] withIntermediateDirectories:YES attributes:nil error:nil];
NSData *data = [NSData dataWithData:UIImagePNGRepresentation(image)];
Run Code Online (Sandbox Code Playgroud)
您应该检查这些方法的返回值并处理任何故障.
| 归档时间: |
|
| 查看次数: |
5517 次 |
| 最近记录: |