Ios 当按下TableView单元格中的按钮时,如何知道按下了哪一行单元格的按钮?

Ios 当按下TableView单元格中的按钮时,如何知道按下了哪一行单元格的按钮?,ios,uitableview,Ios,Uitableview,我有一个自定义的TableView单元格,其中有一个按钮。 表视图中有许多行使用同一自定义单元格。 现在如果按下其中一个单元格的按钮。我想知道按钮位于单元格的哪一行?(1)。在此方法中,cellforrowatinexpath:,为按钮分配一个标签。 例如: cell.yourbutton.tag = indexPath.row; (2) 。使用相同的选择器为您的按钮添加操作 [cell.yourbutton addTarget:self action:@selector(cellButton

我有一个自定义的TableView单元格,其中有一个按钮。 表视图中有许多行使用同一自定义单元格。 现在如果按下其中一个单元格的按钮。我想知道按钮位于单元格的哪一行?

(1)。在此方法中,
cellforrowatinexpath:
,为按钮分配一个
标签
。 例如:

cell.yourbutton.tag = indexPath.row;
(2) 。使用相同的选择器为您的按钮添加操作

[cell.yourbutton addTarget:self action:@selector(cellButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
(3) 。然后


您可以定义自定义特性,并可以按如下方式使用它:-

#define kCustomProperty @"CustomProperty" 
将对象与该自定义属性关联,如下所示

objc_setAssociatedObject(yourButton,kCustomProperty , yourCellIndexPath, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
NSIndexPath *yourCellIndexPath = (NSIndexPath *)objc_getAssociatedObject(yourButton, kCustomProperty);
使用相同的属性和对象获取数据,如下所示

objc_setAssociatedObject(yourButton,kCustomProperty , yourCellIndexPath, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
NSIndexPath *yourCellIndexPath = (NSIndexPath *)objc_getAssociatedObject(yourButton, kCustomProperty);

这是一种自定义属性,如果您不想使用tag,可以通过编码创建。

您可以将按钮的tag属性设置为行索引。提问者需要的是行号,而不是按钮索引,只需修改您的回答如果我创建自定义单元格,并在代码中设置按钮标记,单元格不同行中的按钮标记是否具有相同的按钮标记或不同的按钮标记?应该不同。您可以使用它来决定单击哪个按钮。