使用NSURL中的UIImage存储图像

时间:2011-02-11 22:34:33

标签: objective-c ios

使用UIImage,我知道我们可以存储来自URL的图像。但我目前陷入了某些不适合我的地步。 我试图从URL中获取图像,如下所示:

NSString *filename = @"12121212" 
UIImage *logoImage = [UIImage imageNamed:[NSString stringWithFormat:@"http://www.example.com/devlopment.cfm?method=%@",fileName]];
NSURL *url = [NSURL URLWithString: logoImage];

我确定,我正在获取图像,但无法加载它。

我的方法是否正确?

Sagos

2 个答案:

答案 0 :(得分:15)

您需要使用UIImage的{​​{3}}方法和NSData的{​​{3}}方法:

NSString *fileName = @"12121212";
NSString *filePath = [NSString stringWithFormat:@"http://www.example.com/devlopment.cfm?method=%@",fileName];
UIImage *im = [UIImage imageWithData: [NSData dataWithContentsOfURL:[NSURL URLWithString:filePath]]];

答案 1 :(得分:1)

在您的示例中,您有一些向后的顺序。设置UIImage *logoImage应该是最后一部分。此外,将URL转换为图像有两个步骤。

首先,您需要获取数据:

NSString *filename = @"12121212"; 
NSURL *tempURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.example.com/devlopment.cfm?method=%@",fileName]];
NSData *tempData = [NSData dataWithContentsOfUrl:tempURL];

现在你需要把它变成一个图像:

UIImage *logoImage = [UIImage imageWithData:tempData];

我确定这段代码泄漏了,它不会处理网络问题,但是你可以了解它。