试图关闭其中包含 table 视图的弹出视图控制器

Trying to dismiss a popover view controller with a table view inside of it

我试图在选择其中的单元格时关闭弹出窗口。 我创建了一个自定义委托来支持它,但它不起作用: 在包含 PopOver 和 table 视图的 class 中,我有以下内容:

在.h中:

@protocol DismissDelegate <NSObject>

-(void)didTap;

@end


@interface AssistanceNeededAtPopOverViewController : UIViewController<UITableViewDataSource,UITableViewDelegate>


@property (nonatomic, assign) id <DismissDelegate> delegate;

在.m:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {   
    [self.delegate didTap];
}

在弹出窗口所在的 viewcontroller 的 .h 中:

@interface GlobalPageSideDetailViewController : BaseViewController <UITextFieldDelegate, UIAlertViewDelegate,UIPopoverControllerDelegate,DismissDelegate>

并在 .m 中:

AssistanceNeededAtPopOverViewController *classpop = [[AssistanceNeededAtPopOverViewController alloc]init];
classpop.delegate = self;


-(void)didTap{
    if (self.assistanceNeededAtPopover != nil) {
        [self.assistanceNeededAtPopover dismissPopoverAnimated:YES ];
        self.assistanceNeededAtPopover = nil;
    }
}

应阅读此内容并关闭弹出窗口...任何帮助将不胜感激...

您必须将弹出控制器视图的 AssistanceNeededAtPopOverViewController 的委托设置为新的 GlobalPageSideDetailViewController。

在这里,您设置的是刚实例化的控制器的委托,而不是弹出控制器的委托。