1

NSData我的对象-writeToFile:方法有问题,对象也有问题NSString

当我编译到软件时,它给出NSData(或NSString)可能不响应-writeToFile:消息。

当我运行该软件时,它会到达这一行并出现异常。

我尝试写入文件的数据包含从 Internet 下载的 ASCII 文件。

更新:

我已经尝试将结果转换为 BOOL,但编译给出了相同的警告消息。我在这里忽略了什么吗?

这是我的代码。如果有人可以帮忙。

NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent: Name];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error = [[NSError alloc] init];

[fileManager removeItemAtPath:path error:&error];

NSURL *url = [NSURL URLWithString:@"http://www.szrt.hu/xls/luxor.csv"];

NSMutableURLRequest *liveRequest = [[NSMutableURLRequest alloc] initWithURL:url];
[liveRequest setCachePolicy:NSURLRequestReloadIgnoringCacheData];

[liveRequest setValue:@"headervalue" forHTTPHeaderField:@"headerfield"];

NSURLResponse *response;
NSData *myData = [NSURLConnection sendSynchronousRequest:liveRequest returningResponse:&response error:&error];
NSString *myString=[[NSString alloc] initWithData:myData encoding:NSASCIIStringEncoding];

[myString writeToFile:path automatically:YES encoding:NSASCIIStringEncoding];

[myData release];
[myString release];
return true;

警告如下。

/Users/endre/Documents/Luxor/Classes/LuxorFile.m:48:0 /Users/endre/Documents/Luxor/Classes/LuxorFile.m:48:警告:“NSString”可能不会响应“-writeToFile:自动:编码:'

/Users/endre/Documents/Luxor/Classes/LuxorFile.m:48:0 /Users/endre/Documents/Luxor/Classes/LuxorFile.m:48:警告:(没有匹配方法签名的消息

/Users/endre/Documents/Luxor/Classes/LuxorFile.m:48:0 /Users/endre/Documents/Luxor/Classes/LuxorFile.m:48:警告:初始化从指针生成整数而不进行强制转换

/Users/endre/Documents/Luxor/Classes/LuxorFile.m:48:0 /Users/endre/Documents/Luxor/Classes/LuxorFile.m:48:警告:未使用的变量“writeResult”

/Users/endre/Documents/Luxor/Classes/LuxorFile.m:68:0 /Users/endre/Documents/Luxor/Classes/LuxorFile.m:68:警告:“NSString”可能不会响应“-writeToFile:原子:编码:'

4

1 回答 1

3
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag;

是你想要的方法。所以,

...
BOOL result = [data writeToFile:path atomically:atomically];
...

应该这样做。

于 2009-12-02T06:51:02.563 回答