Objective c 来自NSURL失败的NSFileHandle

Objective c 来自NSURL失败的NSFileHandle,objective-c,macos,cocoa,Objective C,Macos,Cocoa,我正试图把一些数据写入一个文件。我能够从文件对话框中获取NSURL,并且获取的NSURL具有以下值 file:///Users/brad/Documents/2016-05-04-06-53-35.csv 我的代码执行以下操作: NSURL* myFile = [panel URL]; // is file:///Users/brad/Documents/2016-05-04-06-53-35.csv NSError *error = nil; NSFileHandle *m

我正试图把一些数据写入一个文件。我能够从文件对话框中获取NSURL,并且获取的NSURL具有以下值

file:///Users/brad/Documents/2016-05-04-06-53-35.csv
我的代码执行以下操作:

NSURL*  myFile = [panel URL]; // is     file:///Users/brad/Documents/2016-05-04-06-53-35.csv
NSError *error = nil;   

NSFileHandle *myFileHandle = [NSFileHandle fileHandleForWritingToURL:myFile error:&error];
NSLog(@"%@",error);

if (myFileHandle)
{
  ... // do something 
} 
else 
{
 NSLog(@"File operation failed");
}
我得到了一个错误,表明如下

 Error Domain=NSCocoaErrorDomain Code=2 "(null)" UserInfo={NSFilePath=/Users/brad/Documents/
另外,myFileHandle是nil


有什么线索吗

请参阅
nsfilehandlefilehandleforwritingtour的文档:错误:
。如果文件不存在,则返回
nil

使用
NSFileManager
首先检查文件是否存在。如果没有,请使用
NSFileManager createFileAtPath:contents:attributes:
创建一个空文件

NSURL *myFile = [panel URL];
if (![[NSFileManager defaultManager] fileExistsAtPath:[myFile path]]) {
    [[NSFileManager defaultManager] createFileAtPath:[myFile path] contents:[NSData data] attributes:nil];
}

NSError *error = nil;   

NSFileHandle *myFileHandle = [NSFileHandle fileHandleForWritingToURL:myFile error:&error];