UITableView ios中的indexPath.row错误

时间:2013-07-08 13:26:11

标签: ios uitableview

我正在构建一个iphone应用程序,当我运行我的应用程序时,我有一个包含99条记录的数组,然后cellForRowAtIndexPath方法从0到7返回indexPath.row。这是我的代码

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{

    return 1;
}

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

    return [[accountParser accounts]count];//it return 99 records
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

       NSLog(@"Index : %d",indexPath.row);//this print index 0 to 7 only


    }

    return cell;
}

1 个答案:

答案 0 :(得分:5)

当您显示UITableView时,它只会为可见行调用tableView:cellForRowAtIndexPath :.这意味着只有当您滚动视图时,它才会调用其他行(在您的情况下为8到99)。