Ответ 1
Я думаю, что вы используете NSString
как NSURL
. Попробуйте следующее:
NSURL *imageUrl =[NSURL URLWithString:[attributeDict objectForKey:@"url"]];
Я новичок в разработке 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)
, используемый для хранения анализируемого содержимого.
Я думаю, что вы используете NSString
как NSURL
. Попробуйте следующее:
NSURL *imageUrl =[NSURL URLWithString:[attributeDict objectForKey:@"url"]];
Похоже, что "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];
}
imageURL не NSURL, а строка.