2

这个主题遍布stackoverflow,但我找不到合适的解决方案。

我每个都有按钮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方法?显然,每个单元格的对象都不同......

4

2 回答 2

3

我要做的一件有点棘手的事情是,我将使用 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!
}
于 2014-03-28T18:18:20.160 回答
-1

我认为你必须通过添加按钮,然后uitableviewCell通过.xib(custum cell)iboutlet

于 2013-10-30T10:39:20.457 回答