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”

4

1 回答 1

5

您得到的异常并不表示越界问题,它表明您NSNull在您的dataArray(或可能在您的字典之一的“标题”对象中dataArray或在一个的“来自”对象中)那些字典等等)。self.loader.dataArray当您获得对该数组的更新时,请尝试记录所有内容,并查看它是否包含任何NSNull对象。

于 2013-03-26T14:42:14.180 回答