私はObjective-Cが初めてで、The Big Nerd Ranch Guide to Objective-Cプログラミングの本を読んでいます..
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"http://www.google.com/imagess/logos/ps_logo2.png"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSError *error =nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request
returningResponse:NULL
error:&error];
if(!data){
NSLog(@"fetch failed %@", [error localizedDescription]);
return 1;
}
NSLog(@"the files is %lu bytes", [data length]);
BOOL written = [data writeToFile:@"/tmp/google.png"
options:NSDataWritingAtomic
error:&error];
if(!written){
NSLog(@"write failed: %@",[error localizedDescription]);
return 1;
}
NSLog(@"Success!");
NSData *readData = [NSData dataWithContentsOfFile:@"/tmp/google.png"];
NSLog(@"the file read from disk has %lu bytes", [readData length]);
}
return 0;
}
問題はこれです。*url をhttp://aFakeDomain.com/immimi/myImage.pngに変更すると、HOST がなく、すべて正常に動作するため、データ オブジェクトは nil になります。しかし、Google をドメインと不適切なファイルの場所を指している場合、データオブジェクトにはまだヘッダー情報があり、nil ではないため、エラーが発生することはありません。
*url がファイルを正常に見つけたことを確認する最善の方法は何ですか。
ありがとう