这个主题遍布堆栈溢出,但我找不到合适的解决方案。
我在每个UITableViewCell
都有按钮。
以下是我创建单元格的方法。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ExaminationCell"];
UIButton *clipButton = (UIButton *)[cell viewWithTag:3];
MedicalExamination *examination = [objects objectAtIndex:indexPath.row];
[clipButton addTarget:self action:@selector(examinatonClicked:) forControlEvents:UIControlEventTouchUpInside];
return cell;
}
以下是处理按钮点击的方法:
-(void)examinatonClicked:(MedicalExamination*)examination
{
}
如何将检查对象传递给examinatonCommentsClicked
方法?显然每个细胞的对象都不同......
答案 0 :(得分:3)
我会做的有点hacky,我将使用UIButton的tag属性来传递行号,这样我就可以从支持我的表的数组中拉出对象。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ExaminationCell"];
UIButton *clipButton = (UIButton *)[cell viewWithTag:3];
clipButton.tag = indexPath.row //Set the UIButton's tag to the row.
MedicalExamination *examination = [objects objectAtIndex:indexPath.row];
[clipButton addTarget:self action:@selector(examinatonClicked:) forControlEvents:UIControlEventTouchUpInside];
return cell;
}
-(void)examinatonClicked: (id)sender
{
int row = ((UIButton *)sender).tag;
MedicalExamination *examination = [objects objectAtIndex: row];
//Profit!
}
答案 1 :(得分:-1)
我认为您必须在uitableviewCell
到xib(custum cell)
添加按钮,然后通过iboutlet
进行连接。