在UITableView中获取最近行add的indexPath

时间:2013-07-05 09:33:06

标签: iphone ios uitableview cell nsindexpath

我有一个问题:我想在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为空。你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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

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

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

这将返回您的tableview可能的最后一个索引路径。

如果您希望获得可见单元格的索引路径而不是使用

NSArray *visibleCellIndexPaths = [yourTableViewObject indexPathsForVisibleRows];

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

[[yourTableViewObject indexPathsForVisibleRows] lastObject];

<强>更新

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

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

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

希望这会对你有所帮助。