2012-11-08 10 views
10

Sono nuovo nello sviluppo di app per iPhone.NSInvalidArgumentException ', motivo:' - [__ NSCFString isFileURL]: selettore non riconosciuto inviato all'istanza 0x712e450 '

Quando si esegue un progetto di esempio, ho che analizza un feed xml e visualizza il contenuto insieme con l'immagine in una vista tabella, ottengo questo errore -

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

sta avvenendo solo quando si tenta di visualizza l'immagine in UITableViewCell.

Il codice che ho usato per ottenere le immagini da url è -

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

dove bbc è un oggetto class(NSObject subclass) utilizzato per memorizzare i contenuti analizzati.

+0

balakrishna ningalith enth veruppikkalado? – WonderKid

+0

onn poyi chathoode ..? –

risposta

29

Penso che si stia utilizzando NSString come NSURL. Prova questo:

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

Grazie anche :) – Supertecnoboff

+0

soluzione perfetta –

1

Sembra che "url" sia in realtà un NSString, non un oggetto NSURL. Convertirlo in un oggetto NSURL te stesso:

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 non è un NSURL, ma una stringa.

+1

sì. è, non l'ho notato dal momento che il compilatore non mi ha mostrato alcun warningsat quel punto .. Grazie in qualsiasi modo – nbs

+0

Intendo dire che punta a un oggetto stringa. –

+0

ya, ho capito, [attributeDict objectForKey: @ "url"] restituisce una stringa che ho assegnato a un oggetto NSURL. – nbs