写入临时目录不起作用

时间:2012-10-25 12:50:25

标签: objective-c macos temporary

我正在尝试将文件写入临时目录。我是这样做的:

NSString *_location = NSTemporaryDirectory();
NSString *_guid = [[NSCalendarDate calendarDate] descriptionWithCalendarFormat:@"%m%d%Y%H%M%S%F"];
_guid = [_guid stringByAppendingString:@".png"];
NSString *_tempFilePath = [NSString stringWithFormat:@"%@/%@", _location, _guid];
NSData *_temp_data = [imgRep representationUsingType: NSPNGFileType properties: nil];
[_temp_data writeToFile:_tempFilePath atomically: NO];

但它对我不起作用。它不会创建文件。有什么问题?

P.S。我试图在NSTemporaryDirectory中创建一个具有唯一名称的目录,然后在那里写入一个文件,但它也不起作用。


我注意到它不会在任何地方创建文件。试图将位置设置为用户的文档文件夹,但它无法正常工作。

2 个答案:

答案 0 :(得分:2)

写入图片的路径不正确:

NSString *_tempFilePath = [NSString stringWithFormat:@"%@/%@", _location,_guid];

OR

 NSString *_tempFilePath = [location stringByAppendingPathComponent:@"%@",guid];

答案 1 :(得分:2)

如果您在可能的新目录中写入文件,则必须先创建目录:

[[NSFileManager defaultManager] createDirectoryAtPath:_directoryPath
                           withIntermediateDirectories:YES
                                            attributes:nil error:nil];

[_myData writeToFile:[_directoryPath stringByAppendingPathComponent:_fileName]
          atomically:YES];