从 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 调用警报。
我正在尝试使用 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 调用警报。