2011-02-04 35 views
2

我想從一個NSURL的數組中抓取一個路徑值,在我的應用程序中設置一個圖標。我得到一個NSURL異常

NSInvalidArgumentException '的,理由是:' - [__ NSArrayI長]:無法識別的選擇發送到實例0x5622590。

如果我使用的NSLog我得到預期的輸出:

NSLog(@"%@",[[wforecast.wicons objectAtIndex:0]valueForKey:@"nodeContent"]); 

這給了我:

enter image description here

林的值設置如下

NSURL *urlpath; 

NSString *urls = [[wforecast.wicons objectAtIndex:0] valueForKey:@"nodeContent"]; 

urlpath = [NSURL URLWithString:(NSString *)urls]; 

我很欣賞這個 是一種長期的做事方式,但我試圖分解各個組件,找出哪裏出了問題,但我很茫然!

+0

哪行代碼導致崩潰? – deanWombourne 2011-02-04 18:02:28

回答

6

您的問題基本上與this other questioner had相同。你傳遞了一個不是NSString的對象,你需要傳遞一個NSString。

使用調試器來確定發生異常的確切位置。如果你沒有這樣做,我不會確定你所顯示的代碼是什麼造成的;調試器會告訴你發生異常的地方,沒有任何疑問。

一旦找到發生異常的位置,就可以檢查通過的對象,然後回顧從中得到的對象。您需要修復如何檢索字符串或如何將其存儲在您現在從中獲取的位置。

+0

不返回NIl – Coasty 2011-02-04 18:19:29