NSData
オブジェクト-writeToFile:
メソッドに問題があり、オブジェクトNSString
にも同じ問題があります。
ソフトウェアにコンパイルすると、NSData
(またはNSString
) が応答しない可能性があるという-writeToFile:
メッセージが表示されます。
ソフトウェアを実行すると、この行に到達して例外が発生します。
ファイルに書き込もうとしているデータには、インターネットからダウンロードした 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:automatically」に応答しない場合があります:エンコーディング:'
/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:atomically に応答しない場合があります:エンコーディング:'