从 UITableViewCell 呈现 UIViewController:addChildViewController 无法识别的选择器发送到实例

Presenting UIViewController from UITableViewCell: addChildViewController unrecognized selector sent to instance

我正在尝试使用 SCLAlertView 库在您单击 table 视图单元格中的按钮时显示警报视图。我在 tableviewcell.m:

中这样展示
- (IBAction)showSuccess:(id)sender {
    SCLAlertView *alert = [[SCLAlertView alloc] init];

    [alert addButton:@"First Button" target:self selector:@selector(firstButton)];

    [alert addButton:@"Second Button" actionBlock:^(void) {
        NSLog(@"Second button tapped");
    }];

    [alert showSuccess:self title:@"test" subTitle:@"test" closeButtonTitle:@"test" duration:0.0f];
}

但是当我点击按钮时,应用程序崩溃并给我这个错误:

[TableViewCell addChildViewController:]: unrecognized selector sent to instance 0x126e1bc90

它还在我实际显示警报的行上给了我这个警告:

Incompatible pointer types sending 'TableViewCell *' to parameter of type 'UIViewController *'

我猜我无法从我的 Table View Cell 显示 View Controller,但我该如何解决这个问题?

您必须将单元格的父视图控制器添加为 childViewController。

因此在单元格中添加一个委托,将其附加到 TableViewController 中,然后在单元格委托触发时从 TableViewController 调用警报。