Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 调用方法CellForRowatineXpath的计数错误_Ios_Uitableview - Fatal编程技术网

Ios 调用方法CellForRowatineXpath的计数错误

Ios 调用方法CellForRowatineXpath的计数错误,ios,uitableview,Ios,Uitableview,我有密码 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.objectIdArray.count; } 此方法返回7。我在调试模式下检查它 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPa

我有密码

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.objectIdArray.count;
}
此方法返回7。我在调试模式下检查它

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// !!!!!!!!!!!!!
        NSLog(@"%d\n",self.objectIdArray.count);
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"OrderListCell"];
        if (cell == nil) {
            NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"OrderListCell" owner:nil options:nil];
            cell = [topLevelObjects lastObject];
            [((OrderListCell *) cell).activityIndicatorView startAnimating];

        }

        ((OrderListCell *) cell).delegate = self;
        [((OrderListCell *) cell) prepareOrderListCell:[self.objectIdArray objectAtIndex:indexPath.row]];

        return cell;

    }

在日志7中写入了6(!)次。任何解决方案?

cellForRowAtIndexPath仅在显示单元格时调用。您确定7个单元格适合您的屏幕吗?

cellForRowAtIndexPath仅在显示单元格时调用。您确定7个单元格适合您的屏幕吗?

尝试检查数组长度,然后根据委托方法的调用进行验证。

尝试检查数组长度,然后根据委托方法的调用进行验证。

您的屏幕上有多少个单元格可见
cellforrowatinexpath
method只调用将要显示的可见单元格和单元格。如果在tableview中向下滚动,也会调用最后一个

屏幕上有多少个单元格可见
cellforrowatinexpath
method只调用将要显示的可见单元格和单元格。如果在tableview中向下滚动,也会调用最后一个

你忘了数组索引从0开始,而不是从1开始吗?哦,不。在日志中,“OK”被写入了6次。但是应该是7,因为self.objectdarray.count=7它可能在第一次打开时显示7,因为它从0开始,这意味着6个对象将有7个值。我很有信心显示的每个单元格都会调用cellForRowAtIndexPath,如果你不一直滚动的话,在“边缘”加上一些。(如果你来回滚动,每个单元格可以有多个调用。)你丢失了一些东西,可能是一个隐藏在其他输出中的NSLog。(什么症状让你首先计算调用数?)你是否忘记了数组索引从0开始而不是从1开始?哦,不。在日志中,“OK”被写入了6次。但应该是7,当self.objectIdArray.count=7时,它可能会在第一次打开时显示7,因为它从0开始,这意味着6个对象将有7个值。我很有信心,对于显示的每个单元格,都会调用cellForRowAtIndexPath,如果不一直滚动,还会在“边”上显示一些值。(如果你来回滚动,每个单元格可以有多个调用。)你丢失了一些东西,可能是一个隐藏在其他输出中的NSLog。(什么症状导致你首先计算调用数?)滚动此方法后不调用此方法后不滚动此方法called@incmiko--仅适用于显示的单元格,或将要显示的单元格。是的,这是将要显示的单元格,所以不仅仅是显示的单元格cells@incmiko--仅适用于已显示的单元格或即将显示的单元格。是的,这是即将显示的单元格,因此不仅适用于已显示的单元格