NSInvalidArgumentException ', reason:' - [__ NSCFString isFileURL]: непризнанный селектор, отправленный в экземпляр 0x712e450 '

Я новичок в разработке 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), используемый для хранения анализируемого содержимого.

Ответ 1

Я думаю, что вы используете NSString как NSURL. Попробуйте следующее:

    NSURL *imageUrl =[NSURL URLWithString:[attributeDict objectForKey:@"url"]];

Ответ 2

Похоже, что "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];        
}

Ответ 3

imageURL не NSURL, а строка.