如何从Custom Table View Cell类获取对Table View Controller的引用

Enc*_*PTL 7 uitableview ios

我有自定义表视图单元格,并已创建自定义类.如何从单元格中获取对表视图控制器的引用?

我有这个自定义tableview单元类.在这里,我有一个与点击事件相关的按钮.在点击我得到的事件很好,但我希望得到一个表视图控制器,所以我可以在表视图顶部显示操作表.

@interface MTPurchasedCartItemCell : UITableViewCell

- (IBAction)onShareTap:(id)sender;

@end
Run Code Online (Sandbox Code Playgroud)

edc*_*591 4

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

@property (nonatomic, copy) void (^tapHandler)(id sender);
Run Code Online (Sandbox Code Playgroud)

在实现文件中你可以这样做:

- (IBAction)onShareTap:(id)sender {
    if (self.tapHandler) {
        tapHandler(sender);
    }
}
Run Code Online (Sandbox Code Playgroud)

最后在你的控制器类中,在你的cellForRowAtIndexPath:

...
cell.tapHandler = ^(id sender) {
    // do something
}
...
Run Code Online (Sandbox Code Playgroud)