如何将indexPath传递给CustomCell

时间:2016-02-04 16:36:37

标签: ios objective-c uitableview

我有一个简单的UITableView不可滚动,无需重复使用单元格。 我有一个带.xib文件的自定义单元类。

我的目标是在协议方法

中使用自定义init传递索引路径
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

当我创建自定义单元格以便在customCellClass.m中使用indexPath

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

在自定义单元格中,您可以定义NSIndexPath属性。在cellForRowAtIndexPath中构建单元格时,可以使用给定的索引设置该属性。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    CustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CustomTableViewCell" forIndexPath:indexPath];

    // This sets your custom indexPath property
    cell.indexPath = indexPath;

    // More cell setup

    return cell;
}

使用代理来识别要处理的单元格(比如单元格内的按钮单击),这非常有用。 More context here.