UITableView中用于传递数据的UiButton

UITableView中用于传递数据的UiButton,uitableview,Uitableview,如何通过按下同一单元格中的按钮来传递单元格中的数据。假设我有一个表,有3个单元格行,每个单元格都有一个不同值的标签。我需要的是,当我按下单元格2中的按钮时,将该值传递给另一个ViewController。当我按下单元格本身时,在控制器之间传递数据不是问题,但当我按下特定按钮并保持该单元格中某个字符串的值时,问题就出现了 谢谢您必须将按钮操作委托给控制器。你应该自己研究,但我要给你举个简单的例子 假设您有一个UITableViewCell,当然UITableView有自己的委托方法,如 - (vo

如何通过按下同一单元格中的按钮来传递单元格中的数据。假设我有一个表,有3个单元格行,每个单元格都有一个不同值的标签。我需要的是,当我按下单元格2中的按钮时,将该值传递给另一个ViewController。当我按下单元格本身时,在控制器之间传递数据不是问题,但当我按下特定按钮并保持该单元格中某个字符串的值时,问题就出现了


谢谢

您必须将按钮操作委托给控制器。你应该自己研究,但我要给你举个简单的例子

假设您有一个UITableViewCell,当然UITableView有自己的委托方法,如

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
这些是对单元格的选择,但您希望控制按钮操作。 你在细胞里有一个按钮,像这样

    UIButton *someButton = [[UIButton alloc] initWithFrame:CGRectMake(0,0, 50, 50)];
    [someButton addTarget:self action:@selector(buttonClicked) forControlEvents:UIControlEventTouchUpInside];
    [self addSubview:someButton];
这是你的手机课

在你的细胞中,你可以这样写

@protocol SomeProtocol <NSObject>

- (void) buttonPressedInCell:(NSString *) data;

@end
还有你的手机

最后,您可以授予按钮操作的委托

- (void) buttonClicked {
    [delegate buttonPressedInCell];
}
因此,在此之后,您可以在需要时委派此对象,在您的情况下,您希望将其交给UITableView,让我们这样做

您需要一个自定义的TableViewCell

你的控制器你必须是你的控制器

你必须像你的细胞一样委派你的细胞

然后实现委托方法

- (void) buttonPressedInCell:(NSString *) data {
    // do something like pushing new controller 
    //your data is in your controller now
}
希望这对你有帮助


关于授权的更多信息

我的问题是当我按下按钮时,但当你按下按钮时,你有什么问题?你还没有解释问题是什么。你不知道怎么做的是什么?您知道如何配置按钮并在按下按钮时做出响应,对吗?那么你还不知道什么呢?就在几个小时前,我发布了这个关于如何将单元格按钮与数据源中的数据相关联的答案。你应该能够适应它。
- (void) buttonPressedInCell:(NSString *) data {
    // do something like pushing new controller 
    //your data is in your controller now
}