2012-11-08 22 views
10

Jestem nowy w rozwoju aplikacji na iPhone'a.NSInvalidArgumentException ', reason:' - [__ NSCFString isFileURL]: nierozpoznany selektor wysłany do instancji 0x712e450 '

Kiedy uruchomić przykładowy projekt, ja, który przetwarza kanał xml i wyświetla zawartość wraz z obrazem w widoku tabeli, otrzymuję ten błąd -

"NSInvalidArgumentException', reason: '-[__NSCFString isFileURL]: unrecognized selector sent to instance 0x712e450'" 

Jest występujące tylko przy próbie wyświetl obraz w numerze UITableViewCell.

Kod I wykorzystywane do uzyskania obrazów z url jest -

if([elementName isEqualToString:IMAGE]) 
{ 
    NSURL *imageUrl = [attributeDict objectForKey:@"url"]; 
    NSData *imageData = [NSData dataWithContentsOfURL:imageUrl]; 
    bbc.image = [UIImage imageWithData:imageData];   
} 

gdzie bbc jest class(NSObject subclass) przedmiot używany do przechowywania przeanalizowane zawartość.

+0

balakrishna ningalith enth veruppikkalado? – WonderKid

+0

onn poyi chathoode ..? –

Odpowiedz

29

Myślę, że używasz NSString jako NSURL. Wypróbuj to:

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

Dziękuję również :) – Supertecnoboff

+0

idealne rozwiązanie –

1

Wygląda na to, że "url" jest w rzeczywistości obiektem NSString, a nie NSURL. Przekonwertować go na obiekt NSURL siebie:

if ([elementName isEqualToString:IMAGE]) 
{ 
    NSString *urlStr = [attributeDict objectForKey:@"url"]; 
    NSURL *imageUrl = [NSURL URLWithString:urlStr]; 
    NSData *imageData = [NSData dataWithContentsOfURL:imageUrl]; 
    bbc.image = [UIImage imageWithData:imageData];   
} 
1

imageURL nie jest bibliotece NSURL, ale ciąg.

+1

tak. to jest, nie zauważyłem tego, ponieważ kompilator nie pokazał mi żadnych ostrzeżeń w tym punkcie .. Dzięki w każdym razie – nbs

+0

Miałem na myśli to wskazuje na obiekt typu string. –

+0

ya, mam to, [attributeDict objectForKey: @ "url"] zwraca ciąg znaków, który został przypisany do obiektu NSURL. – nbs

Powiązane problemy