私はiPhone開発にかなり慣れていないので、アプリケーションで「サーバーから画像」を取得しようとしています。
これを行うには、次の方法を使用しています。
- (UIImage *)imageFromURLString:(NSString *)urlString
{
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"GET"];
NSURLResponse *response = nil;
NSError *error = nil;
NSData *result = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response error:&error];
[request release];
[self handleError:error];
UIImage *resultImage = [UIImage imageWithData:(NSData *)result];
NSLog(@"urlString: %@",urlString);
return resultImage;
}
Image オブジェクトの NSData に何らかの値 (バイト単位) があることをデバッガーで確認できますが、この関数は期待されるイメージを返しません。
ただし、サーバーからテキストを取得するための非常によく似た関数が機能し、期待値が得られます。
- (NSString *)jsonFromURLString:(NSString *)urlString
{
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"GET"];
NSURLResponse *response = nil;
NSError *error = nil;
NSData *result = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response error:&error];
[request release];
[self handleError:error];
NSString *resultString = [[NSString alloc] initWithData:result
encoding:NSUTF8StringEncoding];
return [resultString autorelease];
}
この方法はうまくいきます。
サーバーから画像を取得できない理由を誰かが理解するのを手伝ってくれますか?
ありがとう