我是iPhone App开发的新手。
当我运行一个示例项目时,我做了解析xml
订阅源并在表格视图中显示内容和图像,我收到此错误 -
"NSInvalidArgumentException', reason: '-[__NSCFString isFileURL]: unrecognized selector sent to instance 0x712e450'"
仅当我尝试在UITableViewCell
中显示图像时才会发生。
我用来从url
获取图片的代码是 -
if([elementName isEqualToString:IMAGE])
{
NSURL *imageUrl = [attributeDict objectForKey:@"url"];
NSData *imageData = [NSData dataWithContentsOfURL:imageUrl];
bbc.image = [UIImage imageWithData:imageData];
}
其中bbc
是用于存储已解析内容的class(NSObject subclass)
对象。
答案 0 :(得分:30)
我认为您使用NSString
作为NSURL
。试试这个:
NSURL *imageUrl =[NSURL URLWithString:[attributeDict objectForKey:@"url"]];
答案 1 :(得分:1)
看起来“url”实际上是NSString
,而不是NSURL
对象。自己将其转换为NSURL
对象:
if ([elementName isEqualToString:IMAGE])
{
NSString *urlStr = [attributeDict objectForKey:@"url"];
NSURL *imageUrl = [NSURL URLWithString:urlStr];
NSData *imageData = [NSData dataWithContentsOfURL:imageUrl];
bbc.image = [UIImage imageWithData:imageData];
}
答案 2 :(得分:1)
imageURL不是NSURL,而是字符串。