-1

我有一个问题:我想获取 UITableView 上添加的最近单元格的 indexPath。这是我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //[_tableView clearsContextBeforeDrawing];
    static NSString *simpleTableIdentifier = @"SimpleTableItem";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
       cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];

    }


    cell.tag = indexPath.row;

    CGRect frame1 = CGRectMake(10, 25, 80, 10);
    UILabel *lbl2= [[UILabel alloc]initWithFrame:frame1];
    [lbl2 setFont:[UIFont fontWithName:@"Helvetica" size:8.5]];
    [lbl2 setTextColor:[UIColor blackColor]];
    [lbl2 setTextAlignment:UITextAlignmentLeft];
    lbl2.text = [FileDateArray objectAtIndex:indexPath.row];
    [cell addSubview:lbl2];
    [lbl2 release];

    deleteIndexPath = indexPath.row;
    NSLog(@"Delete index:%@",deleteIndexPath);

    return cell;

}

在我的 tableview 上,一次只添加了一行。当我在控制台上打印时,deleteIndexPath 为 null。你有什么建议吗?

4

1 回答 1

0

我不清楚你想要什么。我可以假设以下三种可能性。请检查是否有任何你想要的。如果不是,请让我知道您想要哪个索引路径以及您想要访问它的位置。

如果您想获取 tableView 的最后一个索引路径,则可以尝试如下:

NSIndexPath *lastIndexPath = [NSIndexPath indexPathForRow:[FileNameArray count] - 1 inSection:0];

这将为您的表格视图返回可能的最后一个索引路径。

如果您想获取可见单元格的索引路径,则可以使用

NSArray *visibleCellIndexPaths = [yourTableViewObject indexPathsForVisibleRows];

如果您想获取最后一个可见单元格的索引路径,则可以使用

[[yourTableViewObject indexPathsForVisibleRows] lastObject];

更新

您想要获取 tableview 第一行的索引路径,而不是使用第一个解决方案只需要在行中传递 0。

NSIndexPath *lastIndexPath = [NSIndexPath indexPathForRow:0 inSection:0];

因为行和节的索引都从 0 开始。由于您只有一个部分,因此您将有 0 个部分的索引,并且您希望获得第一行,因此您的第一行将有 0 个索引。

希望这对您有所帮助。

于 2013-07-05T10:34:48.453 回答