什么时候从零开始计数?

When does it count from zero?

我有一个 UITableView 有多个原型 cells。然后我有一个 NSMutableArray 存储 cellID's 所以我可以在 cellForRow... 检索它们这是代码:

-(void)viewDidLoad {
    self.cellID = [[NSMutableArray alloc] initWithObjects:@"typeOfGraph", @"graph", @"time", nil];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *currentCellID = [self.cellID objectAtIndex:indexPath.row];
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:currentCellID forIndexPath:indexPath];

    NSLog(@"%ld and %lu", (long)indexPath.row, (unsigned long)[self.cellID count]);
    ...
}

当我对 indexPath.rowcellID.count 进行 NSLog 时,对于最后一个 indexPath 我得到:

indexPath.row = 2
cellID.count  = 3

是否从零开始计数?当它计算 indexPath.row 时,似乎确实从零开始计数,但在 cellID.count.

时似乎不是这样

我的问题是,它何时以及为什么不总是从零开始计数?

使用 indexPath.row 您将获得数组中的位置。

使用 cellID.count 您将获得数组中的项目数。

  • 项目“1”位于位置“0”
  • 项目“2”位于位置“1”
  • 项目“3”位于位置“2”