ios CellForRowAtIndexPath调用太多,导致NSRangeException

时间:2014-10-20 13:16:36

标签: objective-c arrays

我去了一个包含两个数据的数组:

{
    name = "Foo";
    nbLikes = 11;
},
    {
    name = "Bar";
    nbLikes = 5;
}

问题是,当我想用​​cellForRowAtIndexPath解析这些数据时,我得到了一个N​​SRangeException,因为他们试图查看我的数组的索引2。

  

*由于未捕获的异常终止应用' NSRangeException',原因:' * - [__ NSArrayM objectAtIndex:]:索引2超出边界[0 .. 1] '

这里是CellForRowAtIndePath中的代码:

    NSString *cellLike = @"cellFanItem";
    customCell *cell = [tableView dequeueReusableCellWithIdentifier:cellLike];
    if (cell == nil)
        cell = [customCell new];
    cell.primaryLabel.text = [tmpfanname objectAtIndex:indexPath.row];
    cell.secondaryLabel.text = [tmpNbLike objectAtIndex:indexPath.row];
    cell.backgroundColor=RGB(0, 0, 0);
    return (cell);

有人知道为什么它被称为太多了吗?关于它的任何解释?

2 个答案:

答案 0 :(得分:1)

您的数组在您正在访问的索引处没有对象。

设置numberofrowsinsection方法以返回数组计数。

答案 1 :(得分:0)

检查numberOfRowsInSection函数。数组tmpfanname和tmpNbLike应具有相同数量的项

  • (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {

    返回[tmpfanname count];

    }