我有一个密码

    - (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个单元格吗?

10-07 19:54