2013-03-26 27 views
0

我有一個程序,從Instagram抓取數據,將其放入字典,然後我解析它。陣列中的零對象崩潰的程序,也有一定的計數

問題開始當我嘗試使用這些數據,奇蹟般地項目數0崩潰我的程序。

此外,在某個數字下一個項目也崩潰的程序。

這裏是的UITableViewCell的代碼,即從陣列/字典抓住文本並將其放入細胞。看起來,它崩潰了,如果我添加另一個檢查以數字1開始,它會起作用,但是當它達到某個計數時會崩潰。 我不明白爲什麼會發生這種情況,因爲我有告訴TableView有多少行在表中的方法,它返回[self.loader.dataArray count],所以它不可能嘗試加載超出界限。

if (self.loader.dataArray[indexPath.row] != nil) 
    { 
    cell.textLabel.text = [[[self.loader.dataArray[indexPath.row] objectForKey:@"caption"] objectForKey:@"from"] objectForKey:@"full_name"]; 
    } 

這裏是我得到的錯誤:

instagramClient [8254:907] *終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因是:「 - [NSNull objectForKey:]:無法識別的選擇發送到實例0x3bb8f090'

回答

5

你得到不表示越界問題的例外,它表明你有你的dataArray(或可能在‘標題’其中的一個詞典對象的NSNull在你的dataArray或其中一個字典的「from」對象,等等)。嘗試記錄所有self.loader.dataArray,當您獲取該陣列的更新並查看它是否包含任何NSNull對象時。

+0

好抓,亞倫。我說話太快了! – 2013-03-26 15:02:39

+0

這工作,我記錄了所有和檢查,其實我找錯了地方尋找名稱 - 它尋找第一個評論者的名字,如果沒有評論它墜毀。 – Dvole 2013-03-26 15:04:25

+1

現在是時候提及'!= nil'可以轉換爲'![... isEqual:[NSNull null]]' – 2013-03-26 15:05:38