1

我有以下尝试将字符串写入桌面上的文件,但出现错误。

我写的代码是:

id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil];

// Get array with first index being path to desktop
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);

// Get the first element
NSString *desktopPath = [paths objectAtIndex:0];

// Append words.txt to path
NSString *theFilePath = [desktopPath stringByAppendingPathComponent:@"glutenFreeJson.txt"];

NSError *error = nil;
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"%@\n\n", jsonString);
NSLog(@"%@\n\n", theFilePath);
[jsonString writeToFile:theFilePath atomically:YES encoding:NSStringEncodingConversionAllowLossy error:&error];
NSLog(@"Write returned error: %@", [error localizedDescription]);

这打印“ Write returned error: The operation couldn’t be completed. (Cocoa error 4.)

我不确定为什么。

更新:该应用程序最初从服务器请求 json 数据,对其进行解析并显示它。但是,服务器一直不稳定,并不总是及时响应,我只需要一次数据,所以我只想将它下载到我电脑上的桌面文件夹并将其移动到我的项目文件夹中。

4

2 回答 2

0

用这个,

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
于 2012-11-06T10:07:13.950 回答
0

iOS中没有DesktopDirectory,NSDesktopDirectory改成NSDocumentDirectory. 它会工作的。

或简单写

NSString *desktopPath = NSHomeDirectory();
于 2012-11-06T09:57:58.067 回答