Ios 如何从自定义表视图单元类获取对表视图控制器的引用

Ios 如何从自定义表视图单元类获取对表视图控制器的引用,ios,uitableview,Ios,Uitableview,我有一个自定义的表视图单元格,并创建了一个自定义类。如何从单元格获取对表视图控制器的引用 我有一个自定义的tableview单元格类。在这里,我有一个按钮,它与点击事件相连接。点击时,我可以很好地获取事件,但我希望能够控制表视图控制器,以便在表视图顶部显示操作表 @interface MTPurchasedCartItemCell : UITableViewCell - (IBAction)onShareTap:(id)sender; @end 我这样做的方式是使用块事件处理程序。在MTP

我有一个自定义的表视图单元格,并创建了一个自定义类。如何从单元格获取对表视图控制器的引用

我有一个自定义的tableview单元格类。在这里,我有一个按钮,它与点击事件相连接。点击时,我可以很好地获取事件,但我希望能够控制表视图控制器,以便在表视图顶部显示操作表

@interface MTPurchasedCartItemCell : UITableViewCell

- (IBAction)onShareTap:(id)sender;

@end

我这样做的方式是使用块事件处理程序。在
MTPurchasedCartItemCell
类中,在头文件中添加如下属性:

@property (nonatomic, copy) void (^tapHandler)(id sender);
在实现文件中,您可以执行以下操作:

- (IBAction)onShareTap:(id)sender {
    if (self.tapHandler) {
        tapHandler(sender);
    }
}
最后,在控制器类中,在
cellforrowatinexpath:
中执行类似操作:

...
cell.tapHandler = ^(id sender) {
    // do something
}
...

我做了一些非常类似的事情,使用按钮事件从自定义单元格获取表引用

代码:


您也可以考虑为按钮添加一个公共的代码> @属性>代码>自定义单元格。< /P> 为此,请在自定义单元格类的头文件中添加以下行:

@property (weak, nonatomic) IBOutlet UIButton *myButton;
如果要在Interface Builder中创建按钮,则会出现这种情况。如果在代码中创建按钮,则应添加以下行:

@property (nonatomic) UIButton *myButton;
然后,当从表视图控制器初始化或配置单元格时,您现在有了对
myButton
的引用,并且可以将表视图控制器作为目标添加操作


然后,在action方法中,您可以从按钮获取单元格。的答案说明了如何操作。

您必须提供更多数据,甚至代码。你想干什么?你做了什么?你说的指针是什么意思?你需要一个指针做什么?我已经添加了一些代码并更新了我的问题。谢谢基本上我想访问Table View Controller,以便显示操作表,因为我在Table View单元格中有一个按钮。该按钮的目标应设置为Controller,通过将self作为addTarget:action:forControlEvents:OK中的目标参数进行设置,我想如果有一种方法可以通过单元格访问表视图控制器,那么我可以从表单元格中调用该操作从按钮框中显示操作表会容易得多。使用它很危险
superview
从表视图的一个单元格获取对表视图的引用,因为视图层次结构的详细信息是私有的,并且可能在不同版本的iOS中更改,这会破坏您的代码。另外,@EncorePTL正在询问如何获得表视图控制器,而不是表视图。佛陀警告悉达多,小心不要太聪明。是做同样事情的更简单的方法。
@property (nonatomic) UIButton *myButton;