我對iPhone開發相當陌生,並試圖從我的應用程序中獲取'來自服務器的圖像'。從URL /服務器獲取圖像
我用下面的方法來做到這一點:
- (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;
}
此函數不返回預期的圖像,雖然我可以在調試器的NSData爲Image對象有一定的價值(以字節爲單位)看到
雖然,從服務器獲取文本的工作非常類似,我得到了預期的值。
- (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];
}
此方法工作正常。
有人能幫我理解爲什麼我沒有從服務器獲取圖像嗎?
感謝
只要你把它放在一個單獨的線程,因此用戶界面不會鎖定。 – Domness 2011-12-09 20:54:09
爲什麼你釋放myImage?你還沒有分配它 – 2013-07-04 12:11:24