2012-11-08 106 views
10

我是iPhone App開發的新手。NSInvalidArgumentException',原因:' - [__ NSCFString isFileURL]:無法識別的選擇器發送到實例0x712e450'

當我運行一個示例項目,我沒有這解析一個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

balakrishna ningalith enth veruppikkalado? – WonderKid

+0

onn poyi chathoode ..? –

回答

29

我認爲您使用NSString作爲NSURL。試試這個:

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

非常感謝:) – Supertecnoboff

+0

完美的解決方案 –

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];   
} 
1

IMAGEURL不是一個NSURL,而是一個字符串。

+1

是的。它是,我沒有注意到它,因爲編譯器沒有告訴我任何warningsat那一點..謝謝任何方式 – nbs

+0

我的意思是它指向一個字符串對象。 –

+0

雅,我明白了,[attributeDict objectForKey:@「url」]返回一個字符串,我分配給一個NSURL對象。 – nbs

相關問題